乱码形成原因及其消除方(3)

时间:2022-10-03 05:19:14 电脑技巧 我要投稿
  • 相关推荐

乱码形成原因及其消除方

  当出现汉字乱码时,上述两个文件夹中内容就会不完整,有的没有ASSOCIATED CHARSET文件夹、或其中内容残缺不全;有的ASSOCIATED DEFAULTFONTS下内容残缺。只要你打开注册表,在“HKEY_LOCAL_MACHINESYSTEMCURRENTCONTROLSETCONTROLFONTASSOC”下,根据以上正确内容恢复即可。

  六、如何消除邮件乱码?

  邮件乱码的形成原因很多,主要有以下几个方面,针对以下几种形成原因,应该采取不同的乱码消除方法:

  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窗口中,就会显示邮件原来的内容,而不会看到乱码。

  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"