ruby-on-rails – PGError:错误:用于编码“UTF8”的无效字节序列

我从cloudmailin收集Rails电子邮件时收到以下PGError:
PGError: ERROR: invalid byte sequence for encoding "UTF8": 0xbb HINT: This error can also happen if the byte sequence does not match the encoding expected by the server,which is controlled by "client_encoding". : INSERT INTO "comments" ("content") VALUES ('Reply with blah blah  ����������������������������������������������������� .....

所以很明显我有一些无效的UTF8字符进入电子邮件吧?所以我试着清理它,但仍有一些东西在偷偷摸摸.这是我到目前为止所拥有的:

message_all_clean = params[:message]
Iconv.conv('UTF-8//IGnorE','UTF-8',message_all_clean)
message_plain_clean = params[:plain]
Iconv.conv('UTF-8//IGnorE',message_plain_clean)

@incoming_mail = IncomingMail.create(:message_all => Base64.encode64(message_all_clean),:message_plain => Base64.encode64(message_plain_clean))

任何想法,想法或建议?谢谢

解决方法

当在Heroku上遇到此问题时,我们转换为US-ASCII以适当地清理传入的数据(即从Word粘贴):
Iconv.conv("UTF-8//IGnorE","US-ASCII",content)

有了这个,我们没有更多的字符编码问题.

另外,请仔细检查是否存在其他需要相同转换的字段,因为它可能会影响将文本块传递到数据库的任何内容.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...