【问题标题】:ActionMailer string encodingActionMailer 字符串编码
【发布时间】:2012-10-10 17:43:29
【问题描述】:

一段时间以来一直在努力解决这个问题。我有这个字符串:

[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>

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

【问题讨论】:

    标签: ruby ruby-on-rails-3 encoding utf-8 actionmailer


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-12-29
      • 1970-01-01
      • 2015-08-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-27
      相关资源
      最近更新 更多