用户
 找回密码
 入住 CI 中国社区
搜索
查看: 5711|回复: 8
收起左侧

[讨论/交流] CI发UTF-8邮件真是嗷嗷的杯具

[复制链接]
发表于 2010-9-19 19:05:52 | 显示全部楼层 |阅读模式
我用126.com的邮箱发邮件,设置为utf-8, html
to gmail: 标题乱码,内容部分乱码(竟然带上了email header信息)
to qq mail: 标题不乱码,发件人乱码,内容乱码

p.s.:程序文件已保存为UTF-8格式
p.s.:不能换邮件商。。。客户指定的

目前的解决办法,只有使用gbk编码发邮件了,
唉,谁有好的CI utf-8 mail解决方案?
发表于 2010-9-20 00:24:18 | 显示全部楼层
首先这个和 CI 无关。
我发邮件只发现邮件标题乱码,内容都没问题。
邮件标题只要进行编码,就不会乱码。
目前我测试只有 tom 的邮箱会乱码,其他的国内的基本都试过。
 楼主| 发表于 2010-9-20 17:51:23 | 显示全部楼层
标题乱码客户肯定不接受的说。。。。。。。

我测试126发utf-8,不同接收信箱会在不同的位置出现乱码,标题,发件人,内容,只要有中文,就会有其中一、两个项目出现乱码,挺无语的,我的ide设置全部以UTF-8保存,网页也是UTF-8编码
这两天弄邮件真的蛋疼死了
发表于 2010-9-20 18:14:15 | 显示全部楼层
PHP复制代码
$this->email->subject('=?UTF-8?B?'.base64_encode('邮件标题').'?=');
复制代码

这样编码标题是可以的,我这边是这么用的,没问题。
 楼主| 发表于 2010-9-20 21:50:12 | 显示全部楼层
1.7.2已经对标题自动增加=?UTF-8?B?前缀了,我再加一遍发送就出现无敌乱码的说。。
发表于 2010-9-20 22:17:51 | 显示全部楼层
回复 5# visvoy


    -_- 我看了一下 172 的源码,貌似和我用的方法不一样,你可以试试我的方法,改一下 CI 的 Email 类库。。。。
 楼主| 发表于 2010-9-21 12:52:45 | 显示全部楼层
唉,改这块挺麻烦的,得测试好几个邮箱,蛋疼,先用gbk邮件对付了。。。
等遇到强制要求utf-8的蛋疼客户再说,囧rz
发表于 2010-9-28 13:14:31 | 显示全部楼层
邮箱一般接受gb2312、gbk、big5、ansi编码
你可以将utf-8编码转换成gb2312
iconv('utf-8','gb2312',$str);
再发送试试
发表于 2012-2-28 20:33:19 | 显示全部楼层
为什么我按hex的做法,还是错误啊

本版积分规则