代码之家  ›  专栏  ›  技术社区  ›  Gdeglin

正确处理Rails中的unicode字符

  •  1
  • Gdeglin  · 技术社区  · 15 年前

    默认情况下,Rails允许应用程序的用户输入非utf8数据,例如: ¶®«¼

    然而,当我们试图从数据库中检索数据并将其呈现在模板中时,Rails错误地假设它是UTF-8格式的,并抛出一个错误。

    ArgumentError: invalid byte sequence in UTF-8
    

    处理这个问题最好的方法是什么?我见过一个建议在用户可以输入的每个地方清除数据的修复程序。然而,这需要修改大量的代码,并且会完全去掉字符。理想情况下,我们希望将一些字符转换为它们的UTF-8等价物。

    Ruby: 1.9.1
    Rails 2.3.5
    MySql Gem: 2.8.1
    

    这对我们来说是一个严重而紧迫的问题,因此非常感谢您的回答!

    1 回复  |  直到 15 年前
        1
  •  0
  •   James Healy    14 年前

    它仍然是相当新的,但一直在为我工作的生产和将检索所有字符串从您的数据库作为utf-8。

    只需安装gem并将database.yml文件更改为包含“adapter:mysql2”