アルファベットや記号になるのではなく、縲繝槭う繝輔・繝・と中国漢字(?)になります。
対策をご教示いただけませんでしょうか。
サイトはUTF-8エンコーディングです。
日本のヤフーメールで受信するとJapanese(EUC)エンコーディングなため毎回(題名だけ)文字化けします。
米国ヤフーメールで受信するとUTF-8エンコーディングなためか題名の文字化けはありません。
次のフリーメールアカウント全てに対応できるようにしたく、そのためには三通りのエンコーディングに対応していなければいけないようです。何か取れる処置はありませんでしょうか?
Yahoo Japan/ Infoseek Japan: Japanese(EUC)
MSN Japan/ AOL Japan/ Gmail Japan/ Livedoor: Japanese (UTF-
Nifty Japan/ au One/ Excite Japan: Japanese (Shift-JIS)
宜しくお願いいたします。
(こちらも見てみましたが、記号に化けるという点で違った問題なのではと思い質問させていただきました:http://q.hatena.ne.jp/1232770555)
アルファベットや記号になるのではなく、縲繝槭う繝輔・繝・と中国漢字(?)になります。
文字化けの表現方法は、機種の環境によって様々なので記号であれ感じであれ正常に表示できていない場合は同一の文字化けと同じです。
サイトはUTF-8エンコーディングです。
日本のヤフーメールで受信するとJapanese(EUC)エンコーディングなため毎回(題名だけ)文字化けします。
米国ヤフーメールで受信するとUTF-8エンコーディングなためか題名の文字化けはありません。
次のフリーメールアカウント全てに対応できるようにしたく、そのためには三通りのエンコーディングに対応していなければいけないようです。何か取れる処置はありませんでしょうか?
リンクにも記載されていますが、日本語のメールはISO-2022-JP(JIS)でエンコードすることが暗黙の了解になっています。これは、アメリカに送ろうが韓国に送ろうがイギリスに送ろうが変わりません。
殆どのメールクライアントにはISO-2022-JPをエンコードする機能が付いているので文字化けはしないと思います。
もしかして日本語以外を送信しようとしていますか?
日本語メールを送る場合はUTF-8を利用しません。
メールヘッダのContent-typeを確認してください。
何になっていますか?
おそらく、ISO-2022-JPになっていると思いますがこの場合ですと件名・本文ともにUTF-8でエンコードされておりヘッダ情報がISO-2022-JPになっているため文字化けを発生させていると思います。
お使いのメール配信システムが不明なため的確なアドバイスはできませんが、Perl系であればjcode.plなどのライブラリーを利用して本文と件名を変換する必要があります。
厳密に言えば、これでも件名だけ文字化けする可能性があります。BASE64にエンコードすることでほぼ回避できると思います。
フリーのメールシステムをお使いであれば教えてください。
題名だけ文字化けするとすると、rfc に則ったヘッダを送っていないのでは無いでしょうか?
そういう手抜きのメール送信スクリプトサンプルってけっこう多いですよね。
Content-Type が出てるからって、ヘッダを直で書いてたり...
http://www.atmarkit.co.jp/fnetwork/rensai/netpro03/netpro01.html
http://www.atmarkit.co.jp/fnetwork/rensai/netpro04/netpro01.html
みなさん、ありがとうございます。