|
造成电子邮件乱码的原因很多,主要有以下几个方面: (1)操作系统语种不同。对于中文电子邮件,如果收信方所用的操作系统是英文环境而且没有外挂中文系统或未切换为中文编码方式,也会无法看到中文,只见到乱码。所有的双字节字符(如中文简/繁体的GB和BIG5码及日文的JIS、 EUC和朝鲜文的 KSC码等)在非本语种操作系统下都会出现乱码。同样在中文简体的GB码环境下看其他双字节字符时也只能看到乱码。
解决方法:安装多语言支持包或使用多内码显示平台,对收到的邮件,根据其使用的语种切换到相应的编码方式即可消除乱码。
(2)邮件服务器不支持8位(非ASCII码格式)。传输邮件的传输机制或邮件编码的不同,可能造成邮件服务器不支持8位(非ASCII码格式)传输而形成邮件乱码。例如直接发送中文或二进制等非ASCII码格式的邮件(如中文双字节文件、图片文件.jpg、可执行文件.exe或压缩文件.zip等二进制文件)时,邮件服务器有可能无法处理,便把信件中每个字符的第8位都过滤掉,从而造成邮件信息的失真或损坏,在收到邮件时就是一堆乱码。
解决方法:在发送8位格式的文本文件时,必须事先进行编码,将文件转换为7位ASCII码或更少位数的格式,然后才能保证文件的正确传送。收件人收到7位或更少位格式的邮件后,可以再转换为8位的格式,这样就可避免乱码。
(3)收发端使用的E-mail软件和设置不同。一般E-mail软件的“附件”功能都可以自动对信件先进行编码,然后再送出。这样,只要收信人使用E-mail软件就能区别信件的编码方式,就可以自动将信件解码。然而由于收发件人所用的E-mail软件默认配置不同或收发件人自己定制的一些选项不同,所以在收到编码的信件后,系统不一定能识别出信件所用的编码方法,自然无法自动解码,这样就会出现乱码。
解决方法:
①可以用WinZip+IE来解码,请你把乱码邮件的内容,拷贝到剪贴板中,然后将其粘贴到记事本中,存为文本文件(例如YJ.txt),再将其后缀改为.uue(改为YJ.uue),点击此文件,会启动WinZip,然后启动IE,把WinZip中的001.txt 文件拖到IE窗口中,就会显示邮件原来的内容,而不会看到乱码。
②可以根据邮件中的关键字符判断编码方法,选取合适的解码软件进行解码。邮件的编码方式主要有:UUENCODE、 Base64 encode、QPencode、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;"......end
特征:乱码前面含有“begin xxx”,后面是编码前的原始文件名(如kk.zip),接着是已经过编码的信件内容(如上述的乱码部分),最后一行为“end”。
解码办法:可用BECKY!EUDORA等E-mail软件,选择编码中相应的选项就可解码,也可以在E-mail软件中保存乱码邮件,存为后缀为“.UUE”格式的文件,然后用Winzip 解码展开。解码后就会消除乱码。
MIME/BASE64 encode:该编码方式将3个字节用4个字节表示,由于编码后的内容是6位的,因此可避免第8位被截掉,大体格式为:
MIME-Version:1.0
Content-Type:text/plain; charset="us-ascii"
Content-Transfer-Encoding:base64
Status:R
SGmhQbF6pm6hSafapmK69Lj0pFexb6q+sXqsT6Skp OWrSKXzsN3DRLFNrmGhQQ0Kq1+sTqq6vdCx
0LF6tFit07D
dw0ShRw0KD QqtuqX9p2m2RLF6p9qoz6XOIE 1Py3Jvc29mdCuiB
JbnRlcm5ldCBN……
特征:乱码前一般有如下几部分“信头”: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
0LF6tFit07Ddw0
ShRw0KD QqtuqX9p2m2RLF6p9qoz6XOIE 1Py3Jvc29mdCuiBJbn
Rlcm5ldCBN……
解码办法:在原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
将邮件存为“.EML”后缀,然后用Outlook即可解码,消除乱码。
另外,还可以采用以下方法解决:
A.请你在Outlook Express 中,把“查看”→“编码”选为“简体中文”;
B.更改IE的设置:在IE浏览器中,打开“工具” →“Internet选项(o)...”→“高级”,将“浏览”中“始终以 UTF-8 发送URL”选项前面的勾去掉;
C.或将文件下载到本地硬盘里面再打开(点击鼠标右键选择“文件另存为…”)。保存文件时,文件名可能会是乱码,只需更改该文件名即可;
D.或直接使用文件名为英文的附件,可以直接在IE中打开。
但有时仍不能奏效。 |
|