Ruby on Rails 3 =>带有特殊字符的truncate方法抛出Encoding Incompatability错误

时间:2011-04-04 11:53:30

标签: ruby-on-rails ruby encoding character truncate

我需要以下方面的帮助。这里有一个字符串,其中包含特殊字符,例如ë,é等我可以在我的视图中正确显示它们但是一旦我调用 truncate 方法,它就会抛出以下错误:

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

奇怪的是,当我检查截断字符串的编码时,它确实给了我UTF-8,这是我需要的(并且UTF-8用于我的数据库)。

my_string_with_special_characters.truncate(35).encoding.inspect
=> UTF-8

但是,当我打电话时: <%= my_string_with_special_characters.truncate(35)%>
=>不兼容的字符编码:ASCII-8BIT和UTF-8

我还尝试了magic_encoding gem,它预先设定了魔术评论 在我的所有控制器文件中都使用“encoding:utf-8”,但我仍然遇到了不兼容的字符编码错误。

如果有人知道如何解决这个问题,请告诉我。非常感谢。

亚历

1 个答案:

答案 0 :(得分:0)

尝试在文件开头使用此字符串(对于* .rb文件)

# -*- encoding: utf-8 -*-