如何解决乱码问题

人气 800
标签:

(http://www.epochtimes.com)
【大纪元4月20日讯】 随着Internet的普及,在网上通过e-mail传递信息逐渐成为现代人生活的一部分,甚至不久还会成为一种生活的必需内容。但我们在接收电子邮件的时候,不时会发现接收的邮件是些怪模怪样的乱码,根本无法阅读。当遇到这种情况时,我们可以针对邮件乱码的现象分析它的种类,并利用手工的方法来破解。但是这种方法不仅繁而且难,恐怕有相当一部分朋友不知如何下手,即使有个一知半解的,也会面对众多的手工解决方法而不知如何选择。在这里笔者给大家提供一套破解邮件乱码的通用流程,至于是不是经典,那当然得由大家说了算啊!

当你收到一封乱码邮件时,第一步必须要做的是根据乱码的特征判断它到底属于哪种编码(通常有UU、MIME和BINHEX三种编码,而MIME又可细分为好几种),如果能判断出是哪种编码,最简单的方法当然是将乱码邮件剪贴下来,利用现成的乱码邮件解码软件(如乱码察看器或邮件解码器,在“华军软件园”能下载到)来解码阅读或利用中文之星、Richwin、南极星这样的中文平台转换内码。但如果根据邮件的内容你一时判别不出是哪种编码,或者你没有任何现成的解码工具软件,则你可以如此这般地一步一步地做下去(以Outlook Express 5为例)。

更改OE5设置
启动Outlook Express,单击“工具”/“选项”命令,在出现的对话窗中单击“阅读”标签,再单击“字体”按钮,选择“简体中文(GB2312)”。接下来将它设置为默认值,单击“国际设置”按钮,选中“为接收的所有的邮件使用默认的编码”,确定后退出。如此设置后,当你再打开邮件阅读时,通常就不会再出现乱码了。

编码选项查看
如果第一步没能奏效,你可以在Outlook Express中选定乱码邮件,然后单击“查看”/“编码”/“简体中文(GB2312)”或“其他”/“简体中文(HZ)”,看看邮件内容是不是能破解。

转寄邮件后再收
在第二步还不能奏效的情况下你可以将此邮件转寄到你的另一个邮箱中,然后再用Outlook Express接收,有时即可顺利解码。当然,也可以试着用不同的电子邮件软件接收此邮件,看看是否能消除乱码现象,因为不同的电子邮件软件对编码的兼容能力还是有所不同的。

改名为.net后重解
如果仍然显示为乱码,你可以将乱码邮件存为一个.txt的文本文件(如果是通过WEB页收取的邮件,就将信体剪贴下来存为一个.txt的文本文件),并改其后缀名为.eml,由Outlook Express来打开,这样一般就可以自动解码了。

添加信头后重读
如果还不行,你可以接着在上面那个.eml文件的最前面添加如下信头:
   Mime-Version: 1.0
   Content-Type: text/plain;
   charset=”gb2312″
   Content-Transfer-Encoding: base64
特别要注意的是信头中间不要空行,信头和信体之间却要留有空行(即在“Content-Transfer-Encoding: base64”下要留一空行)。另外,如果不是Base64乱码,你须判别它们是不是QP乱码或UTF-7、UTF-8乱码或HZ乱码,并分别将base64替换成quoted-printable、7bit、7bit、quoted-printable(后三种乱码还要将gb2312替换成utf-7、utf-8或hz-gb-2312)。完成保存后一般就可以用OutLook Express解码查看了。

利用WinZip解码
如问题仍得不到解决,可以将乱码邮件存为一个.txt的文本文件,并改其后缀名为.uue,然后调用WinZip来对乱码邮件进行解码。

添加信头再用WinZip解码
倘若解码无效,可以像在.eml文件中添加信头那样在.uue文件中添加信头,比如如果是quoted-printable型乱码,则你可以在此文本文件的邮件信头处添加如下几行:
   Mime-Version: 1.0
   Content-Type: text/plain;
   charset=”gb2312″
   Content-Transfer-Encoding: quoted-printable
另外,如果不是QP乱码,你则要判别它们是不是Base64乱码或UTF-7、UTF-8乱码或HZ乱码;如果邮件乱码不是GB码汉字,而像是Big5码,则须将“gb2312” 改为“big5”试一试。如果你最终认定乱码不是中文文本,而是二进制文件,电子邮件软件却不能还原成附件,那么须要将信件中的“Content-Type:text/plain;”改为“Content-Type: application/x-download;”。接下来你就可以用Winzip解码,相信绝大多数邮件乱码到这一步就会露出其“庐山真面目”了。

特别提示:通过上面7个步骤,我们能够看出对于UU编码和MIME类的乱码,一般可以有三种方法解决,第一种是通过转寄乱码邮件(有的情况下可以不用转寄)后用支持该编码的电子邮件软件来接收、查看;第二种是将乱码邮件存为以.eml为后缀名的文本文件,然后用Outlook Express解码查看;第三种则是将乱码邮件存为以.uu为后缀名的文本文件,然后用Winzip解码查看,如果不直接解码,则一般可以通过添加信头来解决。对于各种不同类型的乱码,它们要添加的信头区别仅仅在于字符集charset和内容传输编码方式Content-Transfer-Encoding。

字符重组
对于利用上面步骤还不能正确解码的乱码邮件,你可以将其存为一个.txt文本文件,然后使用任意以字符为单位的编辑软件,将乱码行的第一个字符删除。看看后面的部分能不能和它相邻的乱码重新组成可识别的汉字。这样虽然可能会丢失前面一个(或几个)汉字,但能挽救、还原大部分汉字,有时候就足以猜测出邮件的原意了。

利用Wincode解码
如果到这里都不能搞定乱码邮件,你只有借助Wincode了。将乱码邮件存为一个.txt的文本文件,然后在Windows下调用Wincode程序解码(Wincode程序除了支持UU编码外还支持MIME编码、BINHEX等编码格式,应用范围颇为广泛)。

调节器用内码转换平台
本来这个步骤应该早早在你判断出编码类型后就决定做不做的,但如果开始你判断失误,那么现在不妨回过头来全面做一遍。调出你所有的平台转换工具(如中文之星、Richwin、南极星等),尝试尽可能全面的内码转换,看看能不能“死马当活马医”!一般来说,是可以将乱码邮件正常显示为简体中文的。

如果以上步骤均不能奏效,则可以判断收到的乱码邮件是未经过编码而造成第8位字节被滤掉的乱码邮件,一般来说,这只能通过编程来解决,但邮件解码器(Mail Decoder)这个软件中提供了“7位-8位”这个功能,所以如果你不擅长编程就只好求助于它了。另外,可以再提醒你的是,在Outlook Express 5中,你可以在选中乱码邮件后单击右键,在出现的快捷菜单中选择“属性”项,并在出现的对话框中单击“详细资料”标签,然后再单击右下方的“邮件的源文件(M)”,此时你就会看到邮件乱码的源文件。有时源文件就能显示出你想要得到的所有信息,即使没有的话,也能方便你将其存为.txt文本文件呀!

特别提示:邮件乱码破解的一个关键点是判别乱码的编码类型,因为不同编码的乱码,在不同的平台上有不同的解决方法,因此解码前如果能查看到乱码邮件的内容(可以利用源文件),再根据其特征对邮件可能的编码方式(Uuencode、Base64、QP或HZ等其它编码方式)进行判断将能使我们的破解工作事半功倍。

附各种类型的乱码特征如下:
1.Uuencode“乱码”的大体格式为:
   begin 666 lm.txt
   M(“`@(-3:R,O`X,#ZRK?)SZ.LM-/`M,.[T]#2N_NO+S*];RPQN33IM/#S_&[
   MI<&JS?C2N]‘YMZ+5N<3‘P[2_[*.LMM3(R/‘M<2YI-?WH:+)^KONH:+/^[?1
   2NLV]NWYM[W*O=.PS^S$Q.T
   end
它的主要特征是:编码以“begin xxx”开头,后面紧接着编码之前原始文件的名称,接着是已经用Uuencode编码的邮件内容,在乱码内容的后面,即最后一行为“end”。

2.Base64 encode“乱码”的大体格式为:
   Mime-Version: 1.0
   Content-Type: text/plain;
   charset=”us-ascii”
   Content-Transfer-Encoding: base64
   ICAgINTayMvA4MD6yrfJz6OstNPAtMO709DSu8/uvLzK9bywxuTTptPDz/G7
   pcGqzfjSu9H5t6LVucTHw7S/7KOsttTIy8PHtcS5pNf3oaLJ+rvuoaLP+7fR
   us29u835t73KvdOwz+zEx8O0

3.QP encode“乱码”的大体格式为:
   Mime-Version: 1.0
   Content-Type: text/plain;
   charset=”gb2312″
   Content-Transfer-Encoding: quoted-printable
   D4=DA=C8=CB=C0=E0=C0=FA=CA=B7=C9=CF=A3=AC=B4=D3 =C0=B4=C3=BB=D3=D0=D2=BB=CF=EE=BC=BC=CA=F5= BC=B0=C6=E4=D3=A6=D3=C3=CF=F1=BB=A5=C1=AA=CD=F8 =D2=BB=D1=F9=B7=A2
通常含有很多等号“=”。在实际使用中,这种编码还有一种变形,即用“%”号代替“=”号。

4.UTF-7“乱码”的大体格式为:
   Mime-Version: 1.0
   Content-Type: text/plain;
   charset=”utf-7″
   Content-Transfer-Encoding: 7bit
   +VyhOunx7U4ZT8k4K/wxOzmdlbKFn CU4AmHligGcvU8pRdl6UdShQz06SgFR/UU4AaDdT0V xVkKNOSF/r/wxb+/wxOuk7sVyh1H06nVIx1 H207ZblfDzABicJf9VSMYQ+LxntJZbmXYk5 fX8VxNk8aU9F1H13oWSd2hFPYUxYwAgA8-
在开头和结尾分别有“+”和“-”符号。

5.UTF-8“乱码”的大体格式为:
   Mime-Version: 1.0
   Content-Type: text/plain;
   charset=”utf-8″
   Content-Transfer-Encoding: 8bit
   ㄤ汉绫诲 蹭 锛 ユ病 椤规 跺 ㄥ  缃 峰 灞涔 揩锛 轰滑 伐浣 敓娲汇 璐瑰 ゅ 瑰 褰卞 d

6.HZ“乱码”的大体格式为:
   Mime-Version: 1.0
   Content-Type: text/plain;
   charset=”hz-gb-2312″
   Content-Transfer-Encoding: quoted-printable
   ~{TZHK@`@zJ7IO#,4S@4C;SPR;On<^4s5D1d;/!#~}

通常用~{ 和 ~}括起汉字编码部分,但字母和数字不被编码。

7.半个汉字“乱码”的大体格式为:
   谌死■飞希??永疵挥幸幌罴际跫捌溆τ孟窕チ谎朴鼓敲纯欤??匀嗣堑墓ぷ鳌⑸■睢??押徒煌朴绞接跋炷敲创螅??⑶遥??孀鸥叨刃畔胡耐范缟缁岬牡嚼矗??嗣窃谏
  
8.Big5“乱码”的大体格式为:
  摸菌 ㄓ⊿Τ??兜??砃のㄤ莱ノ钩が羛呼??妓  ?? 癸 ?? ネ ユ└よΑ  帝蔼 て??呼蹈 ?? ㄓ

(名典工作室)
(http://www.dajiyuan.com)

相关新闻
美研发自热混凝土 有望解决路面盐化问题
地球自转速度减缓 恐改变人类计时的方式
深海中鲸鱼的神秘歌声 科学家探秘
微塑胶无处不在 地下7米古遗迹也遭污染
纪元商城
这种肥皂不会耗损 永远陪伴你
每日更新:春天里的素色清道夫 不知疲倦
这种杯子为何如此火爆 加州女子偷65个被捕
这些亚马逊好物 让你生活品质大提升
如果您有新闻线索或资料给大纪元,请进入安全投稿爆料平台
评论