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