[请益] 外部寄信给 ptt 用户,站内信中文乱码

楼主: feng1123 (feng)   2015-09-21 18:12:55
最近在做网站功能,是需要从外部寄信给 ptt 用户
但发现内文只要有中文就会变成乱码
标题的中文字则可以正常显示没问题
初步查询了一下 pttbug 版也有人在询问此问题
通常这种情况应该是编码问题
目前想确认这部分是 ptt 站方 mail server 问题
还是程式需要做什么编码上的调整
// sendgrid
$mail
->addTo("id.bbs@ptt.cc") //(id 为 ptt 帐号)
->setFrom("you@youremail.com")
->setSubject("测试寄信")
->setText("测试寄信");
$res = $sendgrid->send($mail);
echo $res->getCode();
用 gmail 寄信调整为 plain text mode 寄到 ptt 站内信
内文有中文字一样也是乱码C
作者: knuckles (那克斯)   2015-09-21 19:31:00
应该是要转为big5编码
楼主: feng1123 (feng)   2015-09-21 20:38:00
<?=mb_convert_encoding($str, "UTF-8", "auto");?>我有使用上面的方式将文字编码转换,不过还是不行 ~.~
作者: knuckles (那克斯)   2015-09-21 21:31:00
上面那样写是转成utf-8吧, 要转成big5啊
楼主: feng1123 (feng)   2015-09-21 21:42:00
@knuckles 两种编码都试过big5 到站内信也是无法显示
作者: knuckles (那克斯)   2015-09-21 22:00:00
mb_convert_encoding($content,'big-5','utf-8') 这样呢
楼主: feng1123 (feng)   2015-09-21 22:50:00
我试了k大的方式,不过 "我" 字 到站内信变成 =A7=DA
作者: knuckles (那克斯)   2015-09-21 22:58:00
我是用phpmailer寄没什么问题 你可以先寄到Gmail用显示原始邮件看内文是不是被编码了那个 =A7=DA 应该是quoted-printable编码
楼主: feng1123 (feng)   2015-09-21 23:01:00
谢谢k大指引方向,我再试试看

Links booklink

Contact Us: admin [ a t ] ucptt.com