不兼容的字符编码:UTF-8 和 ASCII-8BIT
如何在 Rails 3.2.3 和 Ruby 1.9.3 上解决此错误?
我试图将这两行放在环境中.rb:
Encoding.default_external = Encoding::UTF_8
Encoding.default_internal = Encoding::UTF_8
我确信 application.rb 也包含这一行" config.encoding = "utf-8"
.
有谁知道如何解决这个问题?
考虑在 .rb 文件的第一行使用所谓的魔术注释,并编码:
# encoding: UTF-8
class Xyz
...
end
在放置带有重音符号和其他非 ASCII 字符的文本的文件中,这一点非常重要。它们是您提到的错误的主要原因。
有时可能会发生您键入错误的字符,而不是字母,而是插入隐藏的符号。还要检查您的文件中是否有这些内容。查看线的末端和空格。
如果您有数据要存储在硬盘上,可以尝试data.force_encoding('UTF-8')
。