PHP を使用してプログラミング操作を行うときに、いくつかの問題に遭遇することがよくあります。たとえば、PHP関数mail()を使用すると、文字化けが表示されます解決策:
まず関数base64_encode()を使用します - MIMEbase64を使用してデータをエンコードします
タイトル文字列の前にエンコードタイプを追加します例: =?UTF -8?B?
タイトル文字列の後に追加します: ?=
メールヘッダーの説明 Content-type - メール本文が文字化けするのを防ぐため 例:
<ol class="dp-xml"> <li class="alt"><span><span>$</span><span class="attribute">to</span><span> = ‘name@example.com’; </span></span></li> <li><span> </span></li> <li class="alt"> <span>$</span><span class="attribute">subject</span><span> = “=?UTF-8?B?”.base64_encode(’邮件标题’).”?=”; </span> </li> <li><span> </span></li> <li class="alt"> <span>$</span><span class="attribute">headers</span><span> = ‘MIME-Version: 1.0′ . “rn”; </span> </li> <li><span> </span></li> <li class="alt"> <span>$headers </span><span class="attribute">.</span><span>= ‘Content-type: text/html; </span><span class="attribute">charset</span><span>=</span><span class="attribute-value">utf</span><span>-8′ . “rn”; </span> </li> <li><span> </span></li> <li class="alt"><span>// Additional headers </span></li> <li><span> </span></li> <li class="alt"> <span>$headers </span><span class="attribute">.</span><span>= ‘To: Name </span><span class="tag"><</span><span> </span><span class="tag-name">name</span><span>@example.com</span><span class="tag">></span><span>’ . “rn”; </span> </li> <li><span> </span></li> <li class="alt"> <span>$headers </span><span class="attribute">.</span><span>= ‘From: Admin </span><span class="tag"><</span><span> </span><span class="tag-name">admin</span><span>@example.com</span><span class="tag">></span><span>’ . “rn”; </span> </li> <li><span> </span></li> <li class="alt"> <span>$headers </span><span class="attribute">.</span><span>= ‘Reply-To: Name </span><span class="tag"><</span><span> </span><span class="tag-name">name</span><span>@example.com</span><span class="tag">></span><span>’ . “rn”; </span> </li> <li><span> </span></li> <li class="alt"><span>mail($to, $subject, $message, $headers); </span></li> <li><span> </span></li> </ol>
上記は具体的です。 PHP 関数の mail() メソッドを使用する場合のコード化けの解決策。