我有一段代码看起来像这样:
Dir.new(path).each do |entry|
puts entry
end
当我列出的目录中有一个名为 こんニちは世界.txt 的文件时,问题就来了。 在 Windows 7 机器上我得到输出:
???????.txt
通过谷歌搜索,在 Windows 上正确读取此文件名似乎是一项不可能完成的任务。有什么建议吗?
最佳答案
我遇到了同样的问题,只是想出了如何在 Windows 中获取 UTF-8 目录的条目。以下对我有用(使用 Ruby 1.9.2p136):
opts = {}
opts[:encoding] = "UTF-8"
entries = Dir.entries(path, opts)
entries.each do |entry|
# example
stat = File::stat(entry)
puts "Size: " + String(stat.size)
end
关于ruby - Ruby 中 Windows 上的 Unicode 文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2703283/