admin管理员组

文章数量:1595565

转载自FTidea

众所周知,由于iPhone目前在MobileMail中尚不支持除UTF-8之外的其它编码,而大部分国内中文邮件采用GB2312编码,造成中文邮件大多在iPhone上显示乱码。

利用Gmail管理邮箱,用Safari去查看,虽然可行,但没有了本机保存和Push的特性,毕竟少了些东西。

利用两个Gmail邮箱外发邮件的方法已被证明不可行,其实大家都用UTF-8才是正根,话题扯远了。

OK,拉回来。Shelley在这里斗胆探讨一下几种可解决此问题的办法,实在是希望哪位大牛能够帮广大中文iPhone机友解决这个问题,造福人民。国外编程高手甚至连UTF-8都不喜欢,而以本人MAC多年亲身体会,乔布斯对于Mail支持中文的问题一直都不怎么热心解决。所以只能依靠咱们自己同胞了。

归结一下,方法有四种:

1. 利用外部邮件服务器,转换编码并转发邮件到iPhone。

假设原本的email地址为 ">, 利用一个外部邮件服务器B,自动收取 ">,转换编码并按 ">保存,iPhone MobileMail收取 ">

本人没有这样的邮件服务器,但用了个客户端解决问题。以上本人在自己家中的一台MAC mini上装Office 2008,编了一个Automator,然后用Entourage收取 ">,再转发给 ">解决此问题,邮件均正常。但恐怕不是每个机友都愿意家里专门7*24开着这么一个东西就只为了解决邮件问题。

目前这种方法接收中文邮件均正常!

Windows的机友恐怕不能采用此方法,Shelley在Windows中几乎试过所有的邮件客户端,都不能用,MAC上也只有Entourage可行。

2. 利用装在iPhone机器上的Apache或Lighttpd,实现上述第一种办法的功能。

此方法不再赘述。

3. 在iPhone本机读取MobileMail数据库,转换编码后再送回原数据库。

此方法Shelley一亲密好友正在编写,但他工作太忙,不知道什么时候能有时间,先做预告了。

iPhone上储存Mail信息的方法,和MAC OS X上的基本一样。

MAC OS X上的储存地有两个,一个是Envelope Index(sqlite3格式),用于显示打开Mail软件时显示的邮件标题和正文。另一个是对每一封Mail,保存为.emlx并放在MBOX中。注意:.emlx和.eml是完全一样的RAW格式,只是扩展名不同而已。

在iPhone的MobileMail上,仅有一点点区别:Envelope Index没区别,完全保存了标题和正文,但如果这封邮件包含图片或附件,则另外转存一份.emlx格式的放到相应账户去。

因此,这种解决方案是针对Envelope Index下手,运行专门程序,把Envelope Index中的不合适编码转换之后再存回去即可。.emlx可以不理。

4. 为MobileMail加上GB2312编码,终极解决问题。

在标准MAC OS X的./System/Library/CoreServices/Encodings中,保存着dylib格式的各语系Converter编码,在iPhone中也有,但文件大小不同。

此外,在标准MAC OS X的./System/Library/TextEncodings中,保存着各种编码的bundle文件,iPhone中未包含。

另外还有相应的FrameWorks。

设想,如果能够将标准MAC OS X的编码文件及Frameworks复制到iPhone中,并在MobileMail初始化时,增加引用这些文件的地址信息。那么就可为MobileMail增加这些编码。就能根本解决MobileMail乱码的问题了!

标准MAC OS X的Mail,一直以来按自动判断编码显示邮件上从未有过乱码问题,只是在外发时PreferTextEncoding始终没有好的方法,对此可以参照Mail和MobileMail执行文件的参数,看到究竟MobileMail省略了什么~

希望有高人能够帮助加上这个编码,让我们都能去除这一点点遗憾。支持的帮定一下啊。谢谢。

[本帖最后由 shelley 于 2007-12-1 23:51 编辑]|||用Safari上移动版Gmail管理邮件,不用四种方法,一种方法都解决了。|||引用|||"用Safari上移动版Gmail管理邮件"这怎么搞?

|||支持楼主的设想,实际上就是要解决push mail的编码问题,楼上几位不要再乱扯什么safari看邮件的问题了。|||个人觉得第四个方法好,可行性好像比较高

楼主朋友什么时候研究出第三个方法了,麻烦来发个帖子|||最近也一直在琢磨IPHONE邮件的两个功能:1)就是收UTF-8以外的邮件尤其是GB2312的不乱码 2)是如何连上公司的EXCHANGE 2007服务器使用PUSH MAIL

拜读了楼主的设想,觉得第4种才是最优解决办法,可惜身边没有对MAC OSX熟悉的朋友帮忙解决,只有等待论坛热心高人了。

iphone可以设置exchange,但似乎没有办法解决公司自己服务办法的安全证书的问题,所以到现在也只能想想而已了。|||强烈关注,希高人解决了出详细的图文教程|||我一直用的GMAIL移动版,很方便呀,呵呵|||这个问题值得关注,目前只能用safari了||||||和兄弟们用短信多 电邮就很少了 现在开发收彩信的功能很重要啊 都可以发的说|||第四种方法想法很棒噢.希望能够有英雄出头下!!^-^|||为什么没东西看见的?|||楼上真邪恶!说,你想看见什么东西?|||支持一把~~~~~~~~~~~~~~~~|||谢谢楼主!谢谢楼主!谢谢楼主!|||强烈其待邮件乱码的解决办法,|||真的希望有编程高手可以解决这个问题,期待.|||楼主有进展了吗?急切等待中|||先谢了

不过好像还是不行|||顶一下 不管怎样希望能早点成功|||这是个大家都关心的问题,如果乱码,iphone上的mail就是摆设了。

编程我不会,但精神上狂顶lz了!!!|||也希望这个问题能解决,一直还以为是别人的手机问题。没想到是自家的IPHONE搞怪。

本文标签: 乱码四种机上中文苹果