基于PHPMailer的Bootstrap联系表单UTF-8编码配置问题
解决西里尔文表单输入邮件乱码问题
修正表单编码属性
在表单标签里添加accept-charset="UTF-8",强制表单提交时使用UTF-8编码传递数据,示例:<form accept-charset="UTF-8" method="POST" action="your-handler.php">调整后端邮件发送编码
针对你使用的PHP方案,做以下修改:- 在PHP代码开头设置内部编码为UTF-8:
mb_internal_encoding("UTF-8"); - 给邮件头明确指定UTF-8编码,替换原有的header设置:
$headers = "From: " . $_POST['email'] . "\r\n"; $headers .= "Reply-To: " . $_POST['email'] . "\r\n"; $headers .= "Content-Type: text/plain; charset=UTF-8\r\n"; - 用
mb_send_mail替代原生mail函数发送邮件,确保非ASCII字符编码正确:mb_send_mail($to, $subject, $message, $headers);
- 在PHP代码开头设置内部编码为UTF-8:
检查服务器PHP配置
确认php.ini里的default_charset参数设置为UTF-8,如果未设置,添加或修改:default_charset = "UTF-8"
内容的提问来源于stack exchange,提问作者Ndnr
相关产品推荐
相关产品推荐

