php メールのタイトルが文字化けする場合の解決策: 最初に [base64_encode] 関数を使用してデータをエンコードし、次にタイトル文字列の前にエンコード タイプを [=?UTF-8?B?] として追加し、最後に保存します。ファイルを対応するエンコード形式に変換します。
推奨事項: 「PHP ビデオ チュートリアル」
PHP によって送信されるメールのタイトルが文字化けする問題の解決策
問題が発生しました: PHPMailer が電子メールを送信すると中国語の文字が文字化けします。元々、私のシステムはすべて英語でした。その後、ニーズが変わり、タイトルに中国語を追加する必要がありました。しかし、 Android 内蔵のメールツールで受信すると文字化けが発生しますが、QQ メールボックスを使用して確認すると正常です。
解決策:
最初に関数base64_encode()を使用します - MIME Base64を使用してデータをエンコードします
タイトル文字列の前にエンコードタイプを追加します。例: =?UTF-8?B?
タイトル文字列の後に追加: ?=
//例如: $subject = "=?UTF-8?B?".base64_encode($subject)."?="; //utf-8 //将上面一句添加到代码之中,这样,发送的中文邮件标题就不是乱码了。 $subject = "=?GB2312?B?".base64_encode($subject)."?="; //gb2312
インターネット上には、PHHPMaile を使用して CharSet 属性を設定できるという情報もあります。私の問題は上記の方法で解決できたので、この方法は試しませんでしたが、記録しておきます。
解決策は非常に簡単です。コードに属性を追加します:
$mail->CharSet = "utf-8"; //设置字符集编码
gb2312 エンコーディングの場合、次のようになります:
$mail->CharSet = "GB2312";
次に、対応するエンコーディングとしてファイルを保存します。フォーマットで十分です。
以上がPHPメールのタイトルが文字化けした場合の対処法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。