3

件名に中国語/台湾の文字を含むメールを送信しようとしています。入力したメールの内容は中国語で正しく表示されますが、件名に問題があります。

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 => '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でメールを読むと、上記の判読不能な件名が表示されますが、メールコンテンツの中国語のテキストは問題なく表示されます。注意すべき点の1つは、Content-Transfer-Encodingが「quoted-printable」に設定した「8bit」から変更されているように見えることです。

件名に?の代わりに漢字を表示するにはどうすればよい期ですか?

4

1 に答える 1

1

別の文字セットを使用してみてください。あなたのヘッダーには、件名の Content-Type が UTF-8 であると書かれています。

それをbig5のような他の文字セットに変更してみてください

GB中華人民共和国の公式規格であり、Big5台湾の事実上の規格です。

件名の「utf-8」が表示されている場所に「big5」を入力します。

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 に答える