我的电子邮件主题是我的rails 3应用程序,如下所示:
我尝试使用mail.subject将此主题在我的数据库(mongodb)中保存为字符串字段,但是我收到错误'String not valid UTF-8'??
任何人都知道我是如何解决这个问题的?
非常感谢 瑞克
答案 0 :(得分:0)
您没有显示任何示例代码,但看起来返回的主题不是UTF-8编码,而是您的数据库。在保存主题之前尝试使用force_encoding
。
mail.subject.force_encoding("UTF-8")
修改强>
对于红宝石1.8.7,从String.force_encoding() in Ruby 1.8.7 (or Rails 2.x)
无耻地被盗require 'iconv'
class String
def to_my_utf8
::Iconv.conv('UTF-8//IGNORE', 'UTF-8', self + ' ')[0..-2]
end
end
然后......
mail.subject.to_my_utf8