2

有一段时间我一直在反对这个。我有这个字符串:

[18] pry(main)> p.title
=> "Human meat – Wesker and Son butchers at Smithfield Market"
[19] pry(main)> p.title.encoding
=> #<Encoding:UTF-8>
[20] pry(main)> p.title.force_encoding("ascii").encode
=> "Human meat ��� Wesker and Son butchers at Smithfield��Market"

这是通过 ActionMailer 在我的电子邮件模板中调用的,并且 - 正如您可能猜到的那样 - 在我的电子邮件客户端中同样出现乱码:

<a href=3D"http://localhost:3000/stuff/12072" =
style=3D"color: #D84D3F; text-decoration: none;">Human meat =EF=BF=BD=EF=BF=
=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD Wesker=
 and Son butchers at Smithfield=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=
=BD=EF=BF=BDMarket</a>

尽管我的标题似乎Content-Type正确设置为UTF-8

----==_mimepart_5082362f64bbe_36cb3feb84c5a7386303d
Date: Fri, 19 Oct 2012 22:27:11 -0700
Mime-Version: 1.0
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Content-ID: <5082362f6a388_36cb3feb84c5a738632e9@MacBook-Air.local.mail>

我已经阅读 了很多关于这个主题的内容,尽管信息量很大,但我仍然不知道如何摆脱这些讨厌的问号。我该怎么做才能摆脱它们(使用ruby 1.9.3-p194)?

4

1 回答 1

0

所以我不知道我们正在使用premailergem 来解析我们的电子邮件。RubyGems 中似乎存在不一致之处,因为我的系统报告我有premailer 1.7.3,但我lib/premailer/adapter/nokogiri.rb的与 github repo 中的不匹配,对于相同的版本。

我已经更新了我Gemfile的使用 github 版本,瞧!我的电子邮件中又出现了 UTF-8 字符!

于 2012-10-22T19:00:42.710 回答