3

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

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

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

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 => 'noreply@buddyreferralsystem.com',
     :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”更改。

我应该如何让中文字符出现在主题行而不是期?

4

1 回答 1

1

尝试使用不同的字符集?在您的标题中,它说您的主题行中的 Content-Type 是 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 => 'noreply@buddyreferralsystem.com',
     :content_transfer_encoding => '8bit'
).deliver

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

于 2011-08-16T16:43:56.617 回答