2: 電子メールのエンコードを設定します。
多くの友人が「GBK」または「GB2312」に設定していたと思います。私も最初は同じようにしました。 , そして、メールが国際化されていることがわかりました。Gmail などの国際メールボックスで中国語を正しく表示したい場合は、エンコードを「UTF-8」に設定してください。 3,: タイトルのエンコーディングを設定します。 ここで、電子メールのエンコードを設定した後、ヘッダーのエンコードを設定する目的は何なのかと尋ねる人もいるかもしれません。 複数のメールボックスをテストすると、$mail->Charset="UTF-8"; と設定した場合でも、中国語のタイトルが文字化けしていることがわかります。 PHP を学習した後は、PHP マニュアルをもっと読むか、php.net に注意を払う必要があります。PHP 公式 Web サイト hhtp://.www.php.net/mail でタイトル文字化けの解決策を見つけました。 $mail->Subject ="レタータイトル"; は $mail->Subject = "=?utf-8?B?" に変更されました。 「このエンコーディングは、電子メールの本文など、純粋な 8 ビットではないバイナリ データをトランスポート層で送信できるように設計されています。」 (PHP マニュアルの Base64_encode() より) これでタイトルの中国語の文字化けは解消されます。#-------------------------- 添付ファイル、phpmailerで送信したメールで漢字化けが発生する問題があります デフォルトではphpmailerで送信されるメールが文字化けする場合があります。 解決策はオンラインで提供されます: 行を追加してください
2012-11-5 更新: $mail->CharSet メソッドで設定するエンコーディングは、phpmailer クラスを参照するページのエンコーディングと一致している必要があります。たとえば、電子メールを送信するために 1.php でこのクラスを参照する場合は、次のようにする必要があります。ファイル 1.php のエンコーディング タイプに設定します。この質問はしないでください。もちろん、外部参照コンテンツには統一されたファイル エンコーディングを使用することが最善です。 以上です。phpmailer で送信される中国語メールが文字化けする問題の解決に上記の内容が役立つことを願っています。 プログラマーズホーム、皆さんの楽しい学習をお祈りしています。 |