邮件乱码的消除 1.邮件乱码原因及其排除 邮件乱码的形成原因很多,主要有以下几个方面: (1)邮件服务器不支持8位(非ASCII码格式) 传输邮件传输机制或邮件编码的不同,可能造成邮件服务器不支持8位(非ASCII码格式)传输而形成邮件乱码。例如直接发送中文或二进制等非ASCII码格式的邮件(如中文双字节文件、图片文件.jpg、可执行文件.exe或压缩文件.zip等二进制文件)时,邮件服务器有可能无法处理,便把信件中每个字符的第8位都过滤掉,从而造成邮件信息的失真或损坏,在收到邮件时就是一堆乱码。 对策:在发送8位格式的文本文件时,必须事先进行编码,将文件转换为7位ASCII码或更少位数的格式,然后才能保证文件的正确传送。收件人收到7位或更少位格式的邮件后,可以再转换为8位的格式,这样就可避免乱码。 (2)收发端使用的E-mail软件和设置不同 一般E-mail软件的“附件”功能都可以自动对信件先进行编码,然后送出。这样只要收信人使用的E-mail软件(如Outlook、Netscape E-mail等)能区别信件的编码方式,就可以自动将信件解码。然而由于收发件人所用的E-mail软件默认配置不同或收发件人自己定制的一些选项不同,所以在收到编码的信件后,系统不一定能识别出信件所用的编码方法,自然无法自动解码,这样就会出现乱码。 对策:可以用Winzip+IE来解码,方法是:把乱码邮件的内容,拷贝到剪贴板中,然后将其粘贴到记事本中,存为文本文件(例如LI.txt),再将其后缀改为.uue(改为LI.uue),点击此文件,会启动Winzip,然后启动IE,把Winzip中的001.txt文件拖到IE窗口中,就会显示邮件原来的内容,而不会看到乱码。 也可以根据邮件中的关键字符判断编码方法,选取合适的解码软件进行解码。 邮件的编码方式主要有:UUENCODE、Base64 encode、QP-encode、BINHEX等。 UUENCODE:这是UNIX环境下使用的编码方式,目前已经很少用,大体格式为: begin 644 kk.zip M1G)O;2!I;&EN+F)B3T!C(VEE+FYC=4N961U+G1W(%=E9"!.;W8@(#8@,3(ZM,SDZ,C4@,3DY-@I296-E:79E9#H@9G)O;2!F;&%B;6%I;"YF;&%B+F9U:FET…… end 特征:乱码前面含有“begin xxx”,后面是编码前的原始文件名(如kk.zip),接着是已经过编码的信件内容(如上述的乱码部分)最后一行为“end”。 解码办法:可用BECKY!EUDORA等E-mail软件,选择编码中相应的选项就可解码,也可以在E-mail软件中保存乱码邮件,存为后缀为“.UUE”格式的文件,然后用Winzip解码展开。解码后就会消除乱码。 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 OWrSKXzsN3DRLFNrmGhQQ0Kq1+sTqq6vdCx
0LF6tFit07Ddw0ShRw0KD QqtuqX9p2m2RLF6p9qoz6XOIE 1Py3Jvc29mdCuiBJbnRlcm5ldCBN…… 特征:乱码前一般有如下几部分“信头”:Content-Type(内容类型)、charset(字符集)和Content-Transfer-Encoding(内容传输乱码方式)。 解码办法:用E-mail软件,选择编码中Base64 选项就可解码,解码后会消除乱码。 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文件进行解压,即可看到正确的内容。 BINHEX:这种编码方式大体格式为: (This file must be converted with Binhex4.0) SGmhQbF6pm6hSafapmK69Lj0pFexb6qssTqq6vdCx
0LF6tFit07Ddw0ShRw0KDQqtuqX9p2m2RLF6p9q oz6XOIE…… 解码办法:用E-mail软件对它解码;也可在E-mail软件中保存乱码邮件,存为后缀为“.HQX”格式的文件,然后用Winzip解码展开。 解码后会消除乱码。 UTIF-7/UTIF-8:它们是UNICODE的两种转换码。 UTIF-7编码方式大体格式为: +SGmhQbF/6pm6hSafapmK69L/j0pFexb6q+sXqsT6Skp. OWrSKXzsN3DRLFNrmGhQQ0Kq1-sTqq6vdCx
0LF6tFit07Ddw0ShRw0KD QqtuqX9p2m2RLF6p9qoz6XOIE 1Py3Jvc29mdCuiBJbnRlcm5ldCBN…… 解码办法:在原E-mail头加入以下信息: MIME-Version:1.0 Content-Type:text/plain; charset="utf-7" Content-Transfer-Encoding:7bit 插入后与字符留一空行,将邮件存为“EML”后缀,然后用Outlook即可解码,消除乱码。 UTIF-8 解码办法:在原E-mail头加入以下信息: MIME-Version:1.0 Content-Type:text/plain; charset="utf-8" Content-Transfer-Encoding:8bit 将邮件存