ホームページ > バックエンド開発 > PHPチュートリアル > PHPのmail()関数における文字化けの具体的な解決策_PHPチュートリアル

PHPのmail()関数における文字化けの具体的な解決策_PHPチュートリアル

WBOY
リリース: 2016-07-15 13:31:53
オリジナル
837 人が閲覧しました

我们在使用

一般这种问题出现的原因是 mail() 函数的 header 参数里少了 Content-type: text/html; charset=utf-8,或者 charset 不是utf-8。很多国外的PHP程序一开始开发的时候没有吧中文考虑进去,所以中文使用的时候就会出现PHP mail()函数乱码。

先用函数base64_encode() 使用 MIME base64 对数据进行编码
标题字符串前加编码类型例如: =?UTF-8?B?
当然如果是gb2312的话就 =?GB2312?B?
标题字符串后加:?=

PHP mail()函数乱码的处理办法举例如下
 

<ol class="dp-xml">
<li class="alt"><span><span>$</span><span class="attribute">to</span><span> = </span><span class="attribute-value">'xinple@example.com'</span><span>;  </span></span></li>
<li>
<span>$</span><span class="attribute">subject</span><span> = </span><span class="attribute-value">"=?UTF-8?B?"</span><span>.<br>base64_encode('邮件标题')."?=";  </span>
</li>
<li class="alt">
<span>$</span><span class="attribute">headers</span><span> = </span><span class="attribute-value">'MIME-Version: 1.0'</span><span> . "rn";  </span>
</li>
<li>
<span>$headers </span><span class="attribute">.</span><span>= </span><span class="attribute-value">'Content-type: <br>text/html; charset=utf-8'</span><span> . "rn";  </span>
</li>
<li class="alt"><span>// Additional headers  </span></li>
<li>
<span>$headers </span><span class="attribute">.</span><span>= </span><span class="attribute-value">'To: Xinple &lt;<br>< a href="mailto:xinple@example.com"><br>xinple@example.com</a>&gt;'</span><span> . "rn";  </span>
</li>
<li class="alt">
<span>$headers </span><span class="attribute">.</span><span>= </span><span class="attribute-value">'From: Admin &lt;<br><a href="mailto:admin@example.com"><br>admin@example.com</a>&gt;'</span><span> . "rn";  </span>
</li>
<li>
<span>$headers </span><span class="attribute">.</span><span>= </span><span class="attribute-value">'Reply-To: Xinple &lt;xinple@example&gt;'</span><span> . "rn";  </span>
</li>
<li class="alt"><span>mail($to, $subject, $message, $headers); </span></li>
</ol>
ログイン後にコピー

以上就是PHP mail()函数乱码的具体处理办法,希望对有需要的朋友有所帮助。


www.bkjia.comtruehttp://www.bkjia.com/PHPjc/446193.htmlTechArticle我们在使用 一般这种问题出现的原因是 mail() 函数的 header 参数里少了 Content-type: text/html; charset=utf-8,或者 charset 不是utf-8。很多国外的PHP程...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート