程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP mail()函數亂碼的具體解決方法

PHP mail()函數亂碼的具體解決方法

編輯:關於PHP編程

我們在使用

一般這種問題出現的原因是 mail() 函數的 header 參數裡少了 Content-type: text/html; charset=utf-8,或者 charset 不是utf-8。很多國外的PHP程序一開始開發的時候沒有吧中文考慮進去,所以中文使用的時候就會出現PHP mail()函數亂碼。

先用函數base64_encode() 使用 MIME base64 對數據進行編碼
標題字符串前加編碼類型例如: =?UTF-8?B?
當然如果是gb2312的話就 =?GB2312?B?
標題字符串後加:?=

PHP mail()函數亂碼的處理辦法舉例如下
 

  1. $to = '[email protected]';  
  2. $subject = "=?UTF-8?B?".
    base64_encode('郵件標題')."?=";  
  3. $headers = 'MIME-Version: 1.0' . "rn";  
  4. $headers .= 'Content-type: 
    text/html; charset=utf-8' . "rn";  
  5. // Additional headers  
  6. $headers .= 'To: Xinple <
    < a href="mailto:[email protected]">
    [email protected]</a>&gt;' . "rn";  
  7. $headers .= 'From: Admin &lt;
    <a href="mailto:[email protected]">
    [email protected]</a>&gt;' . "rn";  
  8. $headers .= 'Reply-To: Xinple &lt;xinple@example&gt;' . "rn";  
  9. mail($to, $subject, $message, $headers); 

以上就是PHP mail()函數亂碼的具體處理辦法,希望對有需要的朋友有所幫助。


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