来知道电脑站

您的位置: 主页>软件> 我试了,那些方法还是未能解决电子邮件内容的乱码问题

我试了,那些方法还是未能解决电子邮件内容的乱码问题

 xmlan2003 

我试了,那些方法还是未能解决电子邮件内容的乱码问题


邮件是从美国发来的,只是正文内容是乱码,

解决方法



遇到乱码邮件,首先要判断产生的原因。

  出现乱码的原因很多,其中一种可能是由于Internet上的某些邮件主机不支持8位(非ASCII码格式)传输造成的。具体的说,在直接发送中文双字节或二进制等非ASCII码格式的邮件(如中文双字节文件、图片文件.jpg、可执行文件.exe或压缩文件.zip等二进制文件)时,邮件主机无法处理,便把信件中每个字符的第八位都过滤掉(截去第八位),从而使此信息和初始信息截然不同,造成邮件信息的失真或损坏。因此,在发送8位格式的文本文件时,必须事先进行编码,将文件转换为7位ASCII码或更少位数的格式,然后才能保证文件的正确传送。收件人收到7位或更少位格式的邮件之后,可以再转换为8位的格式,这样就可以阅读了。

  一般电子邮件系统的“附件”功能可以自动对信件先进行编码,然后送出。而如果收信人的电子邮件系统(如Netscape Email、Pegasus、Eudora、Accacia、MS Internet Mail等)能够区别信件的编码方式,则可以自动将信件解码。然而由于各种电子邮件软件的默认配置不同,收件人和发件人自己定制的一些选项也会各不相同,所以在收到编码的信件后,系统不一定能识别出信件所用的编码方法。识别不出编码方法,系统自然无法自动解码,这样当你查看信件内容时,就会出现所谓的乱码,使收信人无法阅读该文件。

  其次,就是要判断关键字符,去判断其编码方法。

  不同的乱码,在不同的平台上有不同的解决方法,因此解码前必须先看一下文件的内容,根据特征对文件可能的编码方式(Uuencode、Base64 encode、QP-encode或其它编码方式)进行判断。请注意,Uuencode格式与Base64 encode格式非常相似,它们的差别仅仅在于“信头”部分的不同。

  第一种编码方法:

  Uuencode这是很早以前在Unix上就有的编码程序,主要用户都集中在UNIX环境的使用者中,目前使用者已经很少。这种软件内部所用的算法为base64。其大体格式为:

  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”,后面紧接着编码之前原始文件的名称

  ·接着是已经过编码的信件的内容

  ·在乱码内容后面,即最后一行为“end”

  第二种编码方法:

  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

  0LF6tFit07Ddw0ShRw0KDQqtuqX9p2m2RLF6p9qoz6XOIE 1Py3Jvc29mdCuiBJbnRlcm5ldCBN……。

  说明:

  Base64编码信件的乱码前一般有如下几部分“信头”:Content-Type(内容类型)、charset(字符集)及Content-Transfer-Encoding(内容传输乱码方式)。

  判断的依据比较明显。

共2页: 上一页 1 [2] 下一页

上一篇:你好!!个人想建个类似于淘宝\易趣类似的网站需要什么?!    下一篇:怎么用QQ空间的代码```````特急`

软件相关文章

软件热门文章

软件推荐文章