笔者在使用中也发现经常出现的问题,与网友们共享:-
1、彩信内容不完整和中文乱码的问题。
先说一下,我看彩信的工具是用的是Books。就是采用ln -s 符号链接的方式将MMS目录链接到EBOOKS目录下。然后用Books进行查看。
我订阅了中国移动的彩信移动手机报,一天早晚各一份报,因此彩信对我很重要。但是使用SwirlyMMS以后,发现经常出现乱码和内容不完整的情况。而且出现情况出现乱码条件不一,让我疑惑了很久。就是收到的中国移动彩信报,有时候乱码,有时候不乱。有时候完整,有时候又不完整。
后来发现原因是这样 。通常一个彩信的内容是由多个文件构成,如文本文件,JPG图像文件。以中国移动提供的彩信手机报业务为例,通常一份手机报有4-5张图片及4-5个文本文件。SwirlyMMS在收取彩信的时候,如果遇到多个文本文件,它会把他们合并在一起,因此下载到本地只有一个文本文件。但笔者发现,SwirlyMMS不支持大于2048byte的文本文件。因此,如果彩信的文本超过2048byte,或者经过SwirlyMMS的合并,合并后的文件大于2048byte,那么SwirlyMMS会截断它,丢弃后面的内容。(唉,从此看不到完整的手机报)
但是,截断后面的的内容,为什么会带来乱码呢?因为手机的彩信的文本编码方式,根据规范是采用UTF-8的方式。大家知道,在UTF-8的编码下面,一个汉字被编码成了3个字节。如果SwirlyMMS在进行截断文件的时候,如果截断的位置恰好是一个汉字(三个字符)的中间,那么,应用程序在展现的时候就可能出现乱码。如果碰巧,不在一个汉字的中间,那么就不会出现乱码问题。
大家可以看看手头的IPHONE中的乱码的文件,文件长度是不是都是字节数在2047字节左右的。
我做了个实验,我将表现为乱码的文件,将文件尾部的字符删除1个个字节,或者2个字节,那么,无一例外的排除了乱码。:-)
这里额外要说说一句的,就是对于截断位置不正确的文本文件,不是所有的应用程序都解释为乱码,经过我的尝试,对于这样的乱码文件;ultraedit9是可以正确展现的,但是windows自带的NotePAD却不能。当然,Books也不能正确解码,当我在Books配置里选择UTF-8,(而不是缺省的automatic)的时候,Books竟然提示我选取了错误的编码方式。//晕。
-
至于乱码的解决办法,上面已经说到了,你可以使用txtedit程序编辑下乱码的文件,尝试将最后删除1个,或2个字符,多数都能够解决。但是乱码的产生的根源是2048字节以上文件的支持,因此彩信内容的完整或者乱码的彻底解决这个恐怕只有等待作者下个版本的改进了。(笔者已经给Swirly的作者发了邮件,尚没有收到答复)
-
根据最新的版本发布消息,0.3.6作者已经修改了2048个字节的限制。呵呵。以上的分析的内容也成为历史了。以下是作者公布0.3.6的内容
SwirlyMMS 0.3.6 is out...iPhonePosted by
Tommy Svensson 2008-03-18 20:01:32
So, it is time for a new release. It has two major fixes. One of them will make all o2-uk users happy since it will now let them receive. You have Mabbutts to thank for this.
The other "fix" is that the text-size limit of 2048 characters is now removed.
As for earlier versions you need an external viewer to view received pictures.
Have fun,
Mats and Tommy
[
本帖最后由 littleriver 于 2008-3-19 10:33 编辑 ]