我正在尝试在主题行中发送包含中文/台湾字符的电子邮件。用户输入的电子邮件内容正确显示为中文,但主题行出现问题。

我正在使用Rails 3.0.9,并将其配置为现在通过我的Gmail帐户发送。所有这些都有效,但也许Google弄乱了我的主题行?

这是我邮件程序中的代码片段:

mail(:to => lead_email,
     :subject => "=?utf-8?B?" + Base64.encode64(@club.offers.first.title) + "?=",
     :from => from_email,
     :content_type => "text/html; charset=utf-8",
     :reply_to => '[email protected]',
     :content_transfer_encoding => '8bit'
).deliver


这就是我收到的电子邮件标题中的内容。

Subject: 期待很快就可以在俱樂部看到你喔!
Mime-Version: 1.0
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable


当我在GMail中阅读电子邮件时,会看到上面的不可读主题行,但是电子邮件内容中的中文文本呈现得很好。需要注意的一件事是,Content-Transfer-Encoding似乎已从我设置为“ quoted-printable”的“ 8bit”更改。

如何使中文字符显示在主题行而不是期

最佳答案

尝试使用其他字符集?标头中的内容行中的内容类型为UTF-8。

尝试将其更改为其他字符集,例如big5

GB是中华人民共和国的官方标准,Big5是台湾的事实上的标准。

将“ big5”放在您在主题行中看到“ utf-8”的位置:

mail(:to => lead_email,
     :subject => "=?utf-8?B?" + Base64.encode64(@club.offers.first.title) + "?=",
     :from => from_email,
     :content_type => "text/html; charset=big5",
     :reply_to => '[email protected]',
     :content_transfer_encoding => '8bit'
).deliver


http://en.wikipedia.org/wiki/Big5

07-27 13:35