Ruby中的Unicode文件名

前端之家收集整理的这篇文章主要介绍了Ruby中的Unicode文件名前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一段代码看起来像这样:
Dir.new(path).each do |entry|
    puts entry
end

当我在我列出的目录中有一个名为こんにちは世界.txt的文件时,会出现问题.
在Windows 7机器上,我得到输出

???????.txt

从谷歌搜索,正确阅读这个文件名在windows似乎是一个不可能的任务.有什么建议么?

解决方法

由于使用了ANSI版本的Windows API,所以您使用纯ruby(1.8或1.9.1)不幸.

看起来Ruby 1.9.2将支持Windows上的Unicode文件名. This bug report以1.9.2为目标.根据this announcement Ruby 1.9.2将于2010年7月底发布.

如果您以前真的需要它,您可以直接通过Win32API.new或win32-api尝试使用FindFirstFileW等.

猜你在找的Ruby相关文章