您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關php郵件中文亂碼怎么辦的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。
php郵件中文亂碼的解決辦法:首先使用HTML編輯郵件內容;然后設置“Content-Transfer-Encoding: 8Bit”;接著發送郵件的系統名和郵件地址;最后設置接收的郵件地址即可。
解決PHP mail發送UTF-8中文郵件亂碼
在這里,我將解決一個問題,也許很多人遇到過,困惑又不知道如何去做的問題。
如何發送中文郵件時沒有亂碼?
在這里我將告訴你如何發送UTF-8編碼格式的中文電子郵件。本文不涉及GBK編碼或者GB2312編碼格式的中文郵件。
解決這個其實是很簡單的。請讀下面的代碼。引用你的電郵標題為’=?UTF-8?B?’和’?=’。
你可以選擇使用HTML編輯你的郵件內容,只是別忘了使用utf-8字符編碼。
郵件Header內容
MIME-Version: 1.0
MIME版本(MIME-Version),這個頭部域在郵件消息的報文用一個版本號碼來指明消息遵從的MIME規范的版本。目前版本是1.0。
Content-Type: text/html; charset=UTF-8;
支持HTML格式,UTF-8編碼。
Content-Transfer-Encoding: 8Bit
內容傳輸編碼,8位元ASCII碼。
X-Mailer: LixiPHP
發送郵件的系統名,可以隨便寫。
From: =?utf-8?B?發送郵件人的姓名?= <FROM_EMAIL_ADDRESS>
發送的郵件地址
To: =?utf-8?B?接受郵件人的姓名?= <TO_EMAIL_ADDRESS>
接受的郵件地址 Subject: =?utf-8?B?郵件標題?=
郵件標題
通過查看郵件的源代碼,我可以看到:
PHP Mail代碼
public function send_email($to, $from, $subject, $message, $fromname = ”, $toname=”) { if($toname) { $to = ‘=?UTF-8?B?’.base64_encode($toname).’?= ‘ . $to; } if($fromname) { $from = ‘=?UTF-8?B?’.base64_encode($fromname).’?= ‘ . $from; } $headers = ‘From: ‘.$from."\r\n". "MIME-Version: 1.0\r\n" . "Content-Type: text/html; charset=UTF-8; format=flowed\r\n" . "Content-Transfer-Encoding: 8Bit\r\n" . ‘X-Mailer: PHP/’ . phpversion(); $subject = ‘=?UTF-8?B?’.base64_encode($subject).’?=’; //send email mail($to, $subject, $message, $headers); }
感謝各位的閱讀!關于php郵件中文亂碼怎么辦就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。