网站链接: 环球农商网
当前位置: 首页 > 资讯动态  > 平台资讯

湖南网站建设:邮件乱码产生的原因与解决办法

2019/3/18 18:58:23 人评论

一、乱码产生的原因 1.传输机制不同造成的乱码 由于历史的原因,Internet的某些邮件服务器不支持8位(ASCII格式)的数据传输格式,具体来说,就是在直接发送中文双字节或二进制等非ASCII码格式文件,比如中文双字节文件(扩展ASCII码)、…

 一、乱码产生的原因

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

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

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

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

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

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

    二、解决方法

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

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

    2.编码不同的解决方法

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

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

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

    4.避免乱码的几点建议

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

    (2)尽量利用附件功能发送文件,用附件发送邮件时,附加文件可以自动进行“BASE64”方式编码,收件人收到信后,打开附件文件,文件就会自动进行解码。

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

相关资讯

  • document.cookie:客户端操作cookie

    我们已经知道,在 document 对象中有一个 cookie 属性。但是 Cookie 又是什么?“某些 Web 站点在您的硬盘上用很小的文本文件存储了一些信息,这些文件就称为 Cookie。”—— MSIE 帮助。一般来说,Cookies 是 CGI 或类似,比 HTML …

    2019/4/12 8:18:11
  • 用ASP实现分级权限控制

    本文实现的是一个帐务管理系统中分级权限的控制,程序使用ASP和JavaScript编写,在装有IIS4.0的win NT服务器上运行,速度快,易维护。  权限级别划分如下:  ①、院长和财务科长:不能输入,可以无限制查询、统计;  ②、副院长:不能输入,可以查询、统计其分管部…

    2019/4/12 8:18:11
  • ASP实现Rewrite模拟生成静态页效

    以前刚刚懂404.asp的时候,曾经幻想把所有程序代码写到404.asp中,实现一个模拟生成静态网页的站,如果程序小还可以,用404.asp实现Rewrite还是一个不错的选择,如果程序代码多达100000行,恐怕就要开始爬了  直到看到asp的Server.Transfer,用404模拟生成静态页的站的念…

    2019/4/12 8:18:11
  • ASP随机涵数生成100条8位字母和数字混合密码

    <%for i = 1 to 100%><%Randomizepass=""Do While Len(pass)<8 随机密码位数num1=CStr(Chr((57-48)*rnd+48)) 0~9num2=CStr(Chr((122-97)*rnd+97)) a~zpass=pass&num1&num2loop原创:www.devdao.com%><%=pass%><br><%next…

    2019/4/12 8:18:11

共有条评论 网友评论

验证码: 看不清楚?