[精讚] [會員登入]
2547

[PHP] 處理mail 函式的標題中文字亂碼

PHP的mail函式若標題有中文字得先處理過,否則收信者會看到亂碼

分享此文連結 //n.sfs.tw/10962

分享連結 [PHP] 處理mail 函式的標題中文字亂碼 @新精讚
(文章歡迎轉載,務必尊重版權註明連結來源)
2019-10-25 00:34:30 最後編修
2017-04-07 11:01:55 By 張○○
 

PHP的mail函式中如果標題(SUBJECT)有中文字,收信者會看到亂碼。

下面是解決標題中文字亂碼的範例:

  $To = "user@example.com";
  $From = "my@example.com";
  $message ="EMAIL 郵件的內容";
  $headers = "MIME-Version: 1.0 \nContent-type: text/html; charset=UTF-8 \n";
  $headers .= "From: {$From}\r\nReply-To: {$From}\r\nX-Mailer: PHP/".phpversion(). "\n";
  $subject = "這是帶有中文字的標題";
  $subject = "=?UTF-8?B?".base64_encode($subject )."?="; 

  $bool = mail($To, $subject, $message, $headers);

其中第7行這裡的 $subject,需要指定編碼和base64 encode處理。


原文 2012-03-24 03:50:01 

END

你可能感興趣的文章

作業上傳程式 提供學生作業上傳的程式

[PHP] CodeIgniter 3+pure+smarty安裝及環境設置1/2 PHP framework CodeIgniter 3+ pure CSS +smarty Template Engine的整合

[PHP] 移除陣列或字串中的重覆元素 移除陣列或字串中的重覆元素

[CodeIgniter 3] 取得controller和method的方法 CodeIgniter 3 取得controller和method的方法

設定Google analytics API #2 -- PHP的程式安裝和撰寫 讓你的網站能夠存取你的Google analytics上面的資料

PHP程式經驗 #2 -- print和echo的差異 常在寫php的人一定會想知道echo和print這兩個函數有什麼不一樣 驗證 1. 比較print 和echo 函式的執

隨機好文

沒有非誰做不可的事,也沒有不可被取代的人 沒有非誰做不可的事,也沒有不可被取代的人

如何在linux下執行java 原生的java應用程式可以使用簡單的方法在console下面寫出來,適合作簡單的應用

Linux shell 的date表示法 linux下SHELL中的date表示法

[札記] 2016.7~12月札記 札記,只是札記

為什麼要重造輪子? 什麼輪子?造什麼輪子?我為什麼要重造輪子?