当我们浏览网页、打开文档或邮件,运行软件时,经常会看到乱码,通常是由于源文件编码,Windows不能正确识别造成的的,也可能是其他原因。乱码给我们带来了太多的烦恼,为了帮助大家彻底摆脱乱码,下面我们就来探讨一下乱码的形成原因及其消除方法。
消灭乱码我有好办法(下)
六、如何消除邮件乱码?
邮件乱码的形成原因很多,主要有以下几个方面,针对以下几种形成原因,应该采取不同的乱码消除方法:
1、收发信双方的语种不同导致的
收发双方使用的操作系统的不同,可以造成乱码。比如发件人使用的是日文的Windows,而收件人使用的是简体中文的Windows,这样的邮件 当然会造成乱码。对于中文电子邮件,如果收信方所用的操作系统是英文环境、而且没有外挂中文系统或未切换为中文(如南极星等)编码方 式,也会无法看到中文、只可见乱码。所有的双字节字符(如中文简/繁体的GB和BIG5码及日文的JIS、EUC和朝鲜文的 KSC码等)在非本语种操作系统下都会出现乱码;同样在中文简体的GB码环境下,看其他双字节字符时也只能看到乱码。
【解决办法】:安装多语言支持包或使用多内码显示平台(如南极星等),对收到的邮件,根据其使用的语种切换到相应的编码方式即可消 除乱码。
2、发信服务器不支持8位(非ASCII码格式)传输
邮件传输机制或邮件编码的不同,可能造成邮件服务器不支持8位(非ASCII码格式)传输而形成邮件乱码。例如直接发送中文或二进制等非 ASCII码格式的邮件(如中文双字节文件、图片文件.jpg、可执行文件.exe或压缩文件.zip等二进制文件)时,邮件服务器有可能无法处理,便 把信件中每个字符的第八位都过滤掉,从而造成邮件信息的失真或损坏,在收到邮件时就是一堆乱码。
【解决办法】:只能由发件人解决。当发送8位格式的文本文件时,必须事先进行编码,将文件转换为7位ASCII码或更少位数的格式,然后 才能保证文件的正确传送。收件人收到7位或更少位格式的邮件后,可以再转换为8位的格式,这样就可避免乱码。
3、收发端用的EMAIL软件和设置不同
一般EMAIL软件的"附件"功能都可以自动对信件先进行编码,然后送出。这样只要收信人使用的EMAIL软件(如Outlook XP等)能区别信件的编码方式,即可自动将信件解码。如果收发件人所用的EMAIL软件默认配置不同、收发件人自己定制的一些选项不同,在收 到编码的信件后,系统就未必能识别出信件所用的编码方法,自然也无法自动解码,这样就会出现乱码。
【解决办法】:如果你用OE收中文邮件,看到的是一篇乱码,可以查一下“查看”-“编码”下,是否选了“简体中文(GB2312)”,选对 了就不会有问题。
此外,你也可以用Winzip+IE来解码,方法是:把乱码邮件的内容,拷贝到剪贴板中,然后将其粘贴到记事本中,存为文本文件(例如 LI.txt),再将其后缀改为.uue(改为LI.uue),点击此文件,会启动Winzip,然后启动IE,把Winzip中的001.txt文件拖到IE窗口中,就会显 示邮件原来的内容,而不会看到乱码。
{ad}4、Email软件不能识别邮件的编码方法
邮件的编码方式主要有:Uuencode、Base64 encode、QP-encode、BINHEX等。如果Email软件不能识别邮件的编码方法,就会显示邮件时出现乱码。因此,你可以根据邮件中的关键字符判 断编码方法,选取合适的解码软件进行解码。
(1)、QpencodeQP编码
该编码全称“Quoted-Printable Content-Transfer-Encoding”,因为这种格式邮件的内容都是ASCII字符集中可以打印的字符,所以名称中含有printable。大体格式为: =A1A=B1z=A6n=A1I=A7=DA=A6b=BA=F4=B8=F4=A4W=B1o......=E5==ABH=A5=F3=B0=DD=C3D=B1M=Aea=A1A......
特征:内容通常有很多等号"=",因此不需要看"信头"也可以判断是否为QP编码。
解码办法:把邮件中类似A1A=B1z=A6n…的部分编码全部复制下来,贴到一个新的纯文本文件中,然后在文件头部加入Quoted-pintable格式 的文件头:
Contenet-Type:text/plain;Charset=”GB2312”
Content-Transfer-Encoding;Quoted-pintable
然后以“EML”为后缀保存文件,用资源管理器双击打开文件即可显示正确的内容。如果还有部分汉字乱码,可以用WINZIP对存盘后的EML文 件进行解压,即可看到正确的内容。
(2)MIME/BASE64 encode编码
该编码方式将3个字节(8位)用4个字节(6位)表示,由于编码后的内容是6位的,因此可避免第8位被截掉,大体格式为:
MIME-Version:1.0
Content-Type:text/plain; charset="us-ascii"
Content-Transfer-Encoding:base64
Status:R SGmhQbF6pm6hSafapmK69Lj0pFexb6q+sXqsT6Skp OWrSKXzs
N3DRLFNrmGhQQ0Kq1+sTqq6vdCx
0LF6tFit07Ddw0ShRw0KDQqtuqX9p2m2RL
F6p9qoz6XOIE1Py3Jvc29mdCuiBJbnRlcm5ldCBN......。
特征:乱码前一般有如下几部分"信头":Content-Type(内容类型)、charset(字符集)及Content-Transfer-Encoding(内容传输乱码方式 )。
解码办法:用EMAIL软件,选择编码中BASE64 选项就可解码,解码后会消除乱码。
(3)、BINHEX编码
这种编码方式大体格式为:
(This file must be converted with Binhex4.0)SGmhQbF6pm6hSafapmK69Lj0pFexb6qss
Tqq6vdCx
0LF6tFit07Ddw0ShRw0KDQqtuqX9p2m2RLF6p9qoz6XOIE…….
解码办法:用EMAIL软件对它解码;也可在EMAIL软件中保存乱码邮件,存为后缀为“.HQX”格式的文件,然后用WINZIP解码展开。解码后会 消除乱码。
(4)、UTIF-7/UTIF-8编码
它们是UNICODE的两种转换码。
七、收信方如何避免邮件显示乱码?
收信方应该首先查找邮件的签字栏或正文中,有无指明对方使用的汉字编码类别;然后在Outlook XP“视图”菜单下选中“编码”,随后将出现全部的汉字编码,在其中选择邮件所指明的一种。
如果收到的邮件中没有指明所用的汉字编码,则可以顺序单击选择编码,直到邮件正文显示正确为止。如果你使用的是Netscape,则可在 Option菜单下的Document Encode中选择相应的项目。
八、在跨语种操作系统间收发电子邮件,如何保证不会乱码?
如果对方使用非中文系统,你给他发中文邮件时,他打开你发的中文邮件,就会出现乱码。解决办法有两种:
1、用绘图软件书写中文邮件
用画笔等绘图软件书写中文邮件,然后把中文邮件以GIF图形格式保存,最后压缩之、作为邮件附件发送。
运行绘图软件,在图片中输入文字,用GIF格式保存,将属性置为黑白模式(以减少图片体积),然后用WINZIP把它压缩成ZIP格式,作为附 件在邮件中发送,这样不管对方在何语言平台下,都不会出现乱码,收信人不必去下载PDF文件阅读器,阅读起来也很方便。
2、使用专门的工具转换和阅读
EMAIL AID之类的工具可以把中文邮件转换为AID格式文件,你把该格式文件发给对方,他再用EMAIL AID打开观看即可。
EMAIL AID(UCWIN GOLD 1.0附带的)可以把文本文件转换为AID格式文件,大小只比原TXT文件增加几K。写好中文邮件后,用文本格式存盘,然后你运行EMAIL AID,以AID格式保存,最后你把AID文件连同EMAIL AID软件一起作为附件插在信中。对方收到信后,只需运行EMAIL AID,打开AID格式文件即可看到汉字,不管对方在何种语言平台下,都不会出现乱码。
网友评论