2010年9月22日 星期三

解決 用 php mail 函數寄送 UTF-8 格式信件標題的亂碼問題

關於 Mail 的 MIME 格式可以參考相關的RFC, 標題的亂碼問題可參考這份文件:
http://www.mhonarc.org/~ehood/MIME/2047/rfc2047.html

解法 1. 在程式中利用 mb_internal_encoding()及 mb_encode_mimeheader() 兩個函式 , 例如:
mb_internal_encoding('UTF-8');
$mail_from=mb_encode_mimeheader("我是寄信者",'UTF-8');
其它 mail 中的內容亦同.



解法 2. 在 php 程式中, Base64 的編碼程式中這麼寫:
"=?$enc?B?".base64_encode($string)."?="; 其中 $enc 就是編碼, $string 是標題內容

沒有留言: