php郵件標題亂碼的解決方法:先使用【base64_encode】函數對資料進行編碼;然後在標題字串前加編碼類型為【=?UTF-8?B?】;最後將檔案儲存成相應的編碼格式即可。
推薦:《PHP影片教學》
PHP發送郵件標題亂碼的解決
遇到問題:PHPMailer發送郵件時中文亂碼,本來我的系統都是英文內容的,後來需求變化需要在標題中添加中文,但是在使用安卓自帶郵件工具收取是出現亂碼,而使用QQ郵箱查看確實正常的。
解決方法:
先用函數base64_encode() — 使用MIME base64 對資料進行編碼
標題字串前加編碼類型例如: =?UTF-8?B?
標題字串後加:?=
//例如: $subject = "=?UTF-8?B?".base64_encode($subject)."?="; //utf-8 //将上面一句添加到代码之中,这样,发送的中文邮件标题就不是乱码了。 $subject = "=?GB2312?B?".base64_encode($subject)."?="; //gb2312
網上還有資料說輸入使用PHPMaile可以設定CharSet屬性,由於我的問題使用上面的方法就可以解決,所以沒有嘗試這種方法,但也記錄下來。
解決的方法很簡單,在程式碼中加上一個屬性:
$mail->CharSet = "utf-8"; //设置字符集编码
如果是gb2312的編碼,則是:
$mail->CharSet = "GB2312";
然後將檔案儲存成對應的編碼格式即可。
以上是php郵件標題亂碼怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!