Ruby on rails RubyonRails 3=>;带有特殊字符的截断方法引发编码不兼容错误

Ruby on rails RubyonRails 3=>;带有特殊字符的截断方法引发编码不兼容错误,ruby-on-rails,ruby,encoding,character,truncate,Ruby On Rails,Ruby,Encoding,Character,Truncate,我需要以下方面的帮助。我在这里得到了一个字符串,其中包含特殊字符,如ë、é等。我可以在视图中正确显示它们,但一旦调用truncate方法,它就会抛出以下错误: 不兼容的字符编码:ASCII-8BIT和UTF-8 奇怪的是,当我检查被截断字符串的编码时,它确实给了我UTF-8,这正是我所需要的(UTF-8用于我的数据库) 带有特殊字符的my_字符串。截断(35)。编码。检查 =>UTF-8 但当我打电话时: =>不兼容的字符编码:ASCII-8BIT和UTF-8 我还尝试了魔术编码宝石,它是魔术

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

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

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

带有特殊字符的my_字符串。截断(35)。编码。检查
=>UTF-8

但当我打电话时:
=>不兼容的字符编码:ASCII-8BIT和UTF-8

我还尝试了魔术编码宝石,它是魔术评论的前奏 在我所有的控制器文件中都有“encoding:utf-8”,但我仍然得到了不兼容的字符编码错误

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


Alex

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


你的字符串的内容是什么?
# -*- encoding: utf-8 -*-