PHP mail 中文乱码的解决方式

本文介绍了解决邮件发送过程中出现的编码问题的方法。通过正确设置读取数据和邮件发送时的编码方式,确保邮件内容能够被正确解读。文章提供了一个PHP示例代码,展示了如何使用base64_encode函数对邮件主题进行编码,并指定了邮件正文的字符集。
部署运行你感兴趣的模型镜像

主要是编码的问题:

解决办法就是: 读取的数据设置好编码方式; 发邮件的时候也指定编码方式;
先用函数base64_encode() 使用 MIME base64 对数据进行编码
标题字符串前加编码类型例如: =?UTF-8?B?
当然如果是gb2312的话就 =?GB2312?B?
标题字符串后加:?=
-----------我的供配置参考---------
  1. <html>
  2. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
  3. <body>
  4. <?php
  5. if(strlen($_POST["from"]) > 1)
  6. //if "email" is filled out, send email
  7. {
  8. //send email
  9. $email = $_POST["from"] ; 
  10. $mailto = $_POST["mailto"];
  11. $subject = "=?UTF-8?B?" . base64_encode($_POST["subject"]) . "?="; 
  12. $message = $_POST["message"] ;
  13. $header = 'MIME-Version: 1.0' . "\r\n" 
  14. . "Content-type: text/html; charset=utf-8". "\r\n" 
  15. . "From: <$email>"."\r\n";
  16. //echo "mailto:$mailto<br />", "Subject: $subject<br />", "message:$message<br />", "From: $email<br />" ;
  17. mail("$mailto", "$subject", $message, "$header" );
  18. echo "<br />Your mail has been sent ! 
  19. Thank you for using our Mail system ...<br />
  20. We shall go to main page in 3 seconds <br />";
  21. }
  22. else{
  23. echo "<center><h2>Welcome to Qunero-php Mail system </h2></center><br />";
  24. echo '<form method="post" action="index.php">
  25. From : <input type="text" name="from" /><br/ >
  26. MailTo : <input type="text" name="mailto" /><br />
  27. Subject : <input type="text" name="subject" /><br />
  28. Message : <br /><textarea name="message" rows="15" cols="80"> </textarea><br />
  29. <input type="submit" />
  30. </form>';
  31. }
  32. ?>
  33. </body>
  34. </html>

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值