phpmailer,乱码是如何产生的?
正在做一些自己网站的事情,又遇到了发邮件的一些难题,以前写过一些发邮件的方法,但不知道什么时候失效了,可能我使用的smtp服务器做了更改,所以我就接受了很多人的意见使用phpmailer发邮件,具体方法,网上有的是,Google,baidu,yahoo,soso应有尽有……
不过还是遇到问题了,虽然利用phpmailer每次都能正常发出,但发出的中文邮件在Gmail,hotmail里面显示正常,但在126,163里面全是乱码,折腾了一下午,除了能修正标题的乱码问题外,内部代码始终不能解决。编码在utf-8和GB2312之间换了又换……
功夫不负有心人,终于发现问题所在。这次开发程序计划与国际接轨,使用的页面编码都是utf-8的,都是这个因素造成的,将utf-8换为ANSI便没有任何问题了,这么说来126等国内邮箱还不支持utf-8编码的邮件!但是如果这样是不是要考虑将页面程序和邮件程序分开呢……

建议你放弃对126邮箱不“国际化”的部分的支持
既然网站都utf8了,干嘛还要保留gb2312作甚?
如果能促使126改进程序就更好了
评论 来自 Fwolf — April 9, 2007 @ 12:36 am
据我所知,网易的邮箱占据了国内很大一块市场,咱们的针对的用户还是国内居多,迫于这种情况,我不得不妥协啦
评论 来自 Silbo — April 9, 2007 @ 3:15 am
如果你把源码改成ansi的,以后移植程序还是会有问题
倒不如源码使用utf8的,在和126服务器通信的时候再用iconv转换编码
是不是更合适一些?
评论 来自 Fwolf — April 10, 2007 @ 11:41 am
恩,我也不是全部都转化,已经解决这个问题了,仅仅在发邮件的时候作了代码处理
评论 来自 Silbo — April 11, 2007 @ 1:24 pm
试一下:
$mail->CharSet = “UTF-8″;
评论 来自 自由自在 — July 12, 2007 @ 10:51 am