• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

邮件乱码产生的原因与解决办法

发布: 2007-5-25 23:40 | 作者: 佚名 | 来源: 互连网 | 查看: 53次 | 进入软件测试论坛讨论

领测软件测试网 一、乱码产生的原因


  1.传输机制不同造成的乱码


  由于历史的原因,Internet的某些邮件服务器不支持8位(ASCII格式)的数据传输格式,具体来说,就是在直接发送中文双字节或二进制等非ASCII码格式文件,比如中文双字节文件(扩展ASCII码)、扩展名为JPG的图片文件、扩展名为EXE的可执行文件、扩展名为ZIP的压缩文件等,由于主机不支持8位的数据传输格式,主机在处理这些信件时就会把信件中每个字符的第八位都截去,因此造成邮件失真或损坏,接收到的邮件便是一堆乱码。这种邮件的乱码只能由发件人解决。


  2.邮件编码不同造成的乱码


  这是由于电子邮件系统造成的乱码,具体说来,就是由于各种电子邮件收发系统的默认配置不同,收件和发件人对自己邮件系统的设置也各不相同,所以在收到信件后,系统不能正确识别编码方法,因而就不能自动解码,这样当你查看这封信件的内容时,就会出现所谓的乱码,因而造成收件人无法阅读。


  3.所使用的操作系统造成的乱码


  由于所使用的操作系统的不同,比如发件人使用的是日文的Windows,而收件人使用的是简体中文的Windows,这样的邮件当然会造成乱码。


  二、解决方法


  1.传输机制不同的解决方法


  这种乱码只能由发件人来解决,要求发件人在发送8位格式的文件时(中文双字节或二进制文件),必须事先进行编码,将文件转换成7位ASCII码或更少位数的邮件之后,再发送出去;收件人在收到邮件后,利用专用的解码软件进行解码后,便可阅读了。下面列出常用的几种邮件编码方式:


  (1)UUENCODE编码:这是很早以前在UNIX上使用的编码方式,其主要特征是:编码以BEGIN开头,以END结尾,并且每一行字母都以英文字母M开头。


  (2)MINE/BASE64编码:这种编码方式是将三个字节用四个字节来表示,由于编码后的内容是6位二进制的,因此可以避免被截去,它的特征是具有CONTENT-TYPE、CHATSET、CONTENT-TRANSFER-ENCODEING64这几个标志。


  (3)QUTOE-PRINTABLE编码:这种格式表示的信息,其内容都是以ASCII码表示的字符,因此可以避免被截去。其主要特征是含有大量的"="和大量的英文字母。


  2.编码不同的解决方法


  对于编码不同造成的乱码,应首先使用转换编码的方法。因为这种编码大多出现在中文邮件上,因此,当乱码出现时首先应当检查邮件系统的编码方式是否为"简体中文(GB2312)",如果不是可用鼠标点取"查看"菜单下的"编码"选项,选中"简体中文(GB2312)"编码方式。如果不行,就选取其他的编码方式试试,通常问题都能得到解决。


  3.操作系统不同的解决方法


  如果你经常收到由国外发来的电子邮件,最好事先约定好,使用相同的操作系统;或者全部使用英文信件交流,因为这些操作系统都支持英文,不会产生乱码。


  4.避免乱码的几点建议


  (1)为了减少收信时出现的乱码,建议将邮件系统中的字体"国际设置"定义为"简体中文(GB2312)"。


  (2)尽量利用附件功能发送文件,用附件发送邮件时,附加文件可以自动进行"BASE64"方式编码,收件人收到信后,打开附件文件,文件就会自动进行解码。因此强烈建议你采用这种方式发送中文类邮件。


  (3)编码文件应添加足够的"信头"信息。在直接发送中文双字节或二进制等非ASCII码格式邮件时,如果对方的邮件服务器不能处理第八位数,则需要对文件进行编码,并添加足够的"信头"信息。比如对"UUENCODE"编码用UUENCODE ENCODING作信头,对"MINE/BASE64"编码用BASE64 ENCODING作信头,对"QUTOE-PRINTABLE编码"用PRINTABLE ENCODING作信头。 ,

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网