1

不兼容的字符编码:UTF-8 和 ASCII-8BIT

如何解决 Rails 3.2.3 和 Ruby 1.9.3 上的这个错误?

我试图将这两行放在 environment.rb 中:

Encoding.default_external = Encoding::UTF_8
Encoding.default_internal = Encoding::UTF_8

我确信 application.rb 也包含这一行 " config.encoding = "utf-8"

有谁知道如何解决这个问题?

4

2 回答 2

0

如果您有数据要存储在硬盘上,您可以尝试data.force_encoding('UTF-8').

于 2012-09-17T11:25:46.747 回答
0

考虑在带有编码的 .rb 文件的第一行上使用所谓的魔术注释:

# encoding: UTF-8

class Xyz
    ...
end

在您放置带有重音符号和其他非 ASCII 字符的文本的文件中,这一点非常重要。它们是您提到的错误的主要原因。

有时,您可能会误输入一个字符,而不是一个字母,而是插入一个隐藏符号。还要检查您的文件中的这些。查看行尾和空格。

于 2012-09-17T11:29:28.887 回答