【问题标题】:How do I fix "Incompatible character encodings: UTF-8 and ASCII-8BIT"?如何修复“不兼容的字符编码:UTF-8 和 ASCII-8BIT”?
【发布时间】:2012-09-09 14:16:27
【问题描述】:

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

有人知道怎么解决吗?

【问题讨论】:

  • 您实际上是从哪里得到这些错误的?

标签: ruby-on-rails ruby encoding


【解决方案1】:

考虑在带有编码的 .rb 文件的第一行使用所谓的魔法 cmets:

# encoding: UTF-8

class Xyz
    ...
end

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2011-07-14
      • 2016-04-14
      • 1970-01-01
      • 2011-10-17
      • 2011-05-26
      • 2011-12-14
      • 2016-04-27
      • 2012-07-13
      • 1970-01-01
      相关资源
      最近更新 更多