[我使用这些德语字符的所有脚本本身都是 UTF-8 格式,#encoding: utf-8
在顶部(而且Encoding.external_default = 'utf-8'
,我认为这并不是真正相关的,因为脚本中定义的字符串中的德语字符不会显示对。) ]
所有这些东西在 Windows 命令提示符下和使用 irb 等都可以正常显示。
不过,我什至不能在 pry 提示符下输入这些字符。试图粘贴puts "äöüÄÖÜß"
得到puts "
。尝试实际键入它们会以某种方式冻结撬动,我必须 ^D 出来。
使用 pry,我在其中运行了一个脚本GC = "äöüÄÖÜß"
,这就是我得到的那种 garbledeegook:
[1] pry(main)> GC
=> "├ñ├Â├╝├ä├û├£├ƒ"
[2] pry(main)> GC.split('').each{ |c| puts c }
ä
├Â
├╝
Ä
Ö
Ü
ß
=> ["├ñ", "├Â", "├╝", "├ä", "├û", "├£", "├ƒ"]
[3] pry(main)> File.open("output.txt", 'w'){|f| GC.split('').each{ |c| f.puts c } }
output.txt
然而,最后一行创建的测试文件是utf-8 格式,内容如下:
ä
ö
ü
Ä
Ö
Ü
ß
有谁知道如何解决这个问题?