我不能在红宝石鞋做一件非常简单的事情。 代码是seguent:
#encoding:UTF-8
Shoes.app do
@var = File.readlines('temp.txt')
para @var
end
如果在txt中有一个带有重音字符的单词,则代码不起作用。鞋子说“不是有效的UTF8字符串” 我怎样才能解决这个问题?
编辑:如果我删除行#encoding:UTF-8
答案 0 :(得分:0)
该行:
#encoding:UTF-8
仅管理您用于实际代码的字符。如果你使用最新版本的ruby,它什么都不做,因为默认情况下,ruby代码假定用UTF-8字符编写。
编辑:如果删除#encoding:UTF-8
行,结果是一样的
是的,那是因为你可能正在使用最新版本的ruby,这是默认版本。
您必须知道要阅读的文件的编码。如果文件是用ISO-8859-1编码的,你可以这样做:
@var = File.readlines('temp.txt', encoding: "ISO-8859-1")
您的文件中包含哪些字符?当你这样做时你会得到什么:
$ ruby -e"puts Encoding.default_external"