7

我在保存新联系人时收到以下错误。有没有办法"\xC2"强制转换为 UTF-8 格式?

c = Contact.new
c.save!

Encoding::UndefinedConversionError: "\xC2" from ASCII-8BIT to UTF-8: INSERT INTO "contacts" ("body", "created_at", "email", "updated_at") VALUES (?, ?, ?, ?)

4

2 回答 2

22

您的字符串采用其他编码,很可能是 iso-8859-1,因此您应该运行它来转换它:

"\xC2".encode("iso-8859-1").force_encoding("utf-8")
=> "Ã"

有关与此问题相关的更多信息,请参阅问题。

于 2013-09-21T04:20:03.713 回答
3

值得一提的是,当我读到一个注释中带有度数符号 (°) 的代码文件时,我遇到了这个问题。将其编码为 json 后,ruby 变得非常不高兴。

让我陷入循环的是代码中没有“Ô字符,因此请记住这一点。

于 2014-09-20T23:56:39.110 回答