PHP傳送UTF 8編碼中文郵件標題亂碼的解決

2021-04-14 02:02:44 字數 611 閱讀 7308

當我們使用下面的php語句傳送中文電子郵件的時候,會發現郵件的標題是亂碼,而郵件正文卻是正確的,如何才能使得郵件標題不是亂碼呢?

$subject = stripslashes($the_post['title']);

$headers = "mime-version: 1.0/r/n";

$headers .= "content-type: text/plain; charset=utf-8/r/n";

$headers .= "content-transfer-encoding: 8bit/r/n";

$message = stripslashes(strip_tags($the_post['content']));

mail($to, $subject, $message, $headers);

先用函式base64_encode() — 使用 mime base64 對資料進行編碼

標題字串前加編碼型別例如: =?utf-8?b?

標題字串後加:?=

例如:$subject = "=?utf-8?b?".base64_encode($subject)."?=";

將上面一句新增到**之中,這樣,傳送的中文郵件標題就不是亂碼了。

PHP中文GBK編碼轉UTF 8

iconv 和 mb convert encoding的區別 string mb convert encoding string str,string to encoding mixed from encoding 需要先enable mbstring 擴充套件庫,在 php.ini裡將 exten...

mysql 對utf8編碼 中文排序

select from m order by convert name using gbk asc eg select distinct b.id b.ach name,b.ach bussiness,b.ach finish date,b.ach finish unit m.areaid,a.ar...

讓 SciTE 支援中文 utf 8 編碼

讓 scite 支援中文的文章,google一搜一大片,但都是設定成gbk編碼的。對於我這種啥都utf 8的懶人來說,每次開啟檔案都要點 file encodeing utf 8 實在是太不方面了。自己仔細把全域性配置檔案看了一遍,發現原來有 本地化 的引數。現在只要在 sciteuser.prop...