這篇文章主要介紹怎么解決php中mail正文亂碼的問題,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
php mail正文亂碼的解決辦法:1、將讀取的數據設置好編碼方式為“UTF-8”;2、在發郵件的時候也指定編碼方式為“UTF-8”即可。
本文操作環境:Windows7系統、PHP7.1版,DELL G3電腦
如何解決php mail正文亂碼問題?
PHP mail 中文亂碼的解決方式
主要是編碼的問題:
解決辦法就是:
讀取的數據設置好編碼方式; 發郵件的時候也指定編碼方式;
先用函數base64_encode() 使用 MIME base64 對數據進行編碼
標題字符串前加編碼類型例如: =?UTF-8?B?
當然如果是gb2312的話就 =?GB2312?B?
標題字符串后加:?=
-----------我的供配置參考---------
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<body>
<?php
if(strlen($_POST["from"]) > 1)
//if "email" is filled out, send email
{
//send email
$email = $_POST["from"] ;
$mailto = $_POST["mailto"];
$subject = "=?UTF-8?B?" . base64_encode($_POST["subject"]) . "?=";
$message = $_POST["message"] ;
$header = 'MIME-Version: 1.0' . "\r\n"
. "Content-type: text/html; charset=utf-8". "\r\n"
. "From: <$email>"."\r\n";
//echo "mailto:$mailto<br />", "Subject: $subject<br />", "message:$message<br />", "From: $email<br />" ;
mail("$mailto", "$subject", $message, "$header" );
echo "<br />Your mail has been sent !
Thank you for using our Mail system ...<br />
We shall go to main page in 3 seconds <br />";
}
else{
echo "<center><h3>Welcome to Qunero-php Mail system </h3></center><br />";
echo '<form method="post" action="index.php">
From : <input type="text" name="from" /><br/ >
MailTo : <input type="text" name="mailto" /><br />
Subject : <input type="text" name="subject" /><br />
Message : <br /><textarea name="message" rows="15" cols="80"> </textarea><br />
<input type="submit" />
</form>';
}
?>
</body>
</html>以上是“怎么解決php中mail正文亂碼的問題”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。