如何解决php mail正文乱码问题
时间:2021-09-16
来源:互联网
今天PHP爱好者给大家带来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><h2>Welcome to Qunero-php Mail system </h2></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正文乱码问题的详细内容,更多请关注php爱好者其它相关文章!
-
GQ是什么币种?GQ币怎么样? 时间:2025-05-10
-
比特币减半时间2024 时间:2025-05-10
-
HMSTR币怎么买?HMSTR币买卖交易操作教程 时间:2025-05-10
-
ecom是什么意思 时间:2025-05-10
-
HTX币的回购与销毁是怎样进行的? 时间:2025-05-10
-
比特币历史价格 时间:2025-05-10
今日更新
-
LOLS11全球总决赛抽签结果出炉 DK大战FPX
阅读:18
-
php zend安装配置的方法
阅读:18
-
php怎么设置页面不能后退
阅读:18
-
suse如何详细安装php
阅读:18
-
写javascript用什么软件
阅读:18
-
php显示繁体乱码怎么办
阅读:18
-
深入了解Node.js中的四大流,解决“背压”问题
阅读:18
-
css怎么隐藏border
阅读:18
-
css如何设置行内间隔
阅读:18
-
php composer 无法下载安装包怎么办
阅读:18