本文目录一览:
为什么用PHP发送到邮件的邮件有乱码??求大神帮我解决啊。。解决了加分
你本来设置的编码和你发邮件类的编码不一致吧,你可以尝试改下编码。乱码一般都是编码出问题。。
PHP的MAIL()中文乱码问题
1,你的统一你的数据库 ,程序,网页 三个的编码
2,你可以在页头加上:header(Content-Type:text/html;CHARSET=gb2312)
3,如楼上说的 iconv("现在编码","变成的编码","转换的信息(这里你的应该 就是信息$message)") 或者用 mb_convert_encoding($message,"被转换成编码","现在编码")
PHP邮件接收到网页表单信息为乱码
require_once("include/email/email.class.php");
$smtpserver = "smtp.163.com";//SMTP服务器
$smtpserverport =25;//SMTP服务器端口
$smtpusermail = $name."@163.com";//SMTP服务器的用户邮箱 自己的邮箱
//$smtpemailto = "*****@163.com";//发送给谁 对方的邮箱
//$smtpuser = $name;//SMTP服务器的用户帐号 自己的邮箱 账号 后面没有@163.com
//$smtppass = $password;//SMTP服务器的用户密码 自己的邮箱 密码
//$mailsubject = "=?GB2312?B?".base64_encode($subject)."?=";"测试邮件系统"; //邮件主题
//$mailbody = $content; //邮件内容
$subject = stripslashes($title); //解决邮件标题乱码
$mailsubject = "=?UTF-8?B?".base64_encode($subject)."?=";
$mailtype = "HTML";//邮件格式(HTML/TXT),TXT为文本邮件
$smtp = new smtp($smtpserver,$smtpserverport,true,$name,$password);//这里面的一个true是表示使用身份验证,否则不使用身份验证.
$smtp-debug = FALSE;//是否显示发送的调试信息
$smtp-sendmail($receive,$smtpusermail,$mailsubject,$content,$mailtype);
上面是我做邮件时候的设置,关键是这2行
$mailsubject = "=?UTF-8?B?".base64_encode($subject)."?=";
$mailtype = "HTML";//邮件格式(HTML/TXT),TXT为文本邮件
用php发邮件时有乱码怎么解决
当用php的mail()函数发送邮件时,如果包含中文,标题产生乱码,需要做以下处理即可解决:
先用函数base64_encode() — 使用 MIME base64 对标题数据进行编码
标题字符串前加编码类型例如: =?UTF-8?B?
标题字符串后加:?=