|
1:打開phpmailer 核心文件 class.phpmailer.php , 將 public $CharSet = ‘iso-8859-1′; 改為 public $CharSet = ‘UTF-8′;
至于為什么要將'iso-8859-1′改為‘UTF-8',請google或百度一下'iso-8859-1′就清楚。
2:設(shè)置郵件的編碼;
復(fù)制代碼 代碼如下:$mail = new phpMailer();
$mail->Charset='UTF-8′;
相信有不少朋友是設(shè)置成”GBK”或“GB2312”的,我開始也是,后來了解到Mail是國際化的,如果想在像Gmail等那樣的國際化郵箱正確顯示中文,請將編碼設(shè)置為“UTF-8”;
3,:設(shè)置標(biāo)題編碼;
這里可能有人會問,都設(shè)置了郵件的編碼了,還設(shè)置標(biāo)題編碼做什么。。。 如果您測試過多種郵箱,你會發(fā)現(xiàn)標(biāo)題中文是亂碼的,沒錯(cuò),即使您設(shè)置了 $mail->Charset=”UTF-8″;
既然學(xué)習(xí)php應(yīng)該多看看php手冊或留意php.NET ,標(biāo)題亂碼的解決辦法我是在php官網(wǎng)找到答案的 hhtp://.www.php.NET/mail。
$mail->Subject =”信件標(biāo)題”; 改為 $mail->Subject = “=?utf-8?B?” . base64_encode(“信件標(biāo)題”) . “?=”;
“設(shè)計(jì)此種編碼是為了使二進(jìn)制數(shù)據(jù)可以通過非純 8-bit 的傳輸層傳輸,例如電子郵件的主體。”(來自php手冊 base64_encode() )
php技術(shù):phpmailer中文亂碼問題的解決方法,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。