如何修复"Incompatible character encodings: UTF-8 and ASCII-8BIT"?



不兼容的字符编码: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')

最新更新