程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> phpmailer中文亂碼問題的解決方法

phpmailer中文亂碼問題的解決方法

編輯:PHP綜合

1:打開phpmailer 核心文件 class.phpmailer.php , 將 public $CharSet = ‘iso-8859-1′; 改為 public $CharSet = ‘UTF-8′;

至於為什麼要將'iso-8859-1′改為‘UTF-8',請google或百度一下'iso-8859-1′就清楚。

2:設置郵件的編碼;

復制代碼 代碼如下:$mail = new PHPMailer();
$mail->Charset='UTF-8′;

相信有不少朋友是設置成”GBK”或“GB2312”的,我開始也是,後來了解到Mail是國際化的,如果想在像Gmail等那樣的國際化郵箱正確顯示中文,請將編碼設置為“UTF-8”;

3,:設置標題編碼;

這裡可能有人會問,都設置了郵件的編碼了,還設置標題編碼做什麼。。。 如果您測試過多種郵箱,你會發現標題中文是亂碼的,沒錯,即使您設置了 $mail->Charset=”UTF-8″;
既然學習php應該多看看php手冊或留意php.net ,標題亂碼的解決辦法我是在php官網找到答案的 hhtp://.www.php.net/mail。
$mail->Subject =”信件標題”; 改為 $mail->Subject = “=?utf-8?B?” . base64_encode(“信件標題”) . “?=”;
“設計此種編碼是為了使二進制數據可以通過非純 8-bit 的傳輸層傳輸,例如電子郵件的主體。”(來自php手冊 base64_encode() )

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved