E-mail乱码的详解
Dec 20.2010
今日,刚到单位上班,就接到一桩“生意”``````
注册部门的杨经理,急匆匆地向我求助,她说,政府部门发送给她的一封邮件,正文出现几个方框,显示不混乱的现象,询问这是为什么?能不能帮她解决?但奇怪的是,周末她在自己家里查看此封邮件时,却是正常的,并询问我是不是公司的网络有限制什么的?

当我听完她说完之后,多多少少感觉到这一问题她描述得模糊不清,但由于此封邮件的信息对于她来说犹为重要,她需要立即转发给生产部门指导相关工作!紧接着我跟随她前去其办公室查看实际状况(邮件正文情况如上所示)。
前,也遇到过出现乱码的情况,就尝试过在“View”—“Encoding”—“More”选取其它编码格式来打开,结果都一样,此种方法不行,只好作罢。

紧接着,为了解决这个问题,一方面向我的“生意客户”杨经理耐心解释:例如软件平台不同、编码形式不同、邮件有可能在传输过程中损坏等等问题有可能的原因,另一方面则向她建议通过其它方式来解决此问题,如告诉发件人将此封邮件的正文制作成一个Word文档,将其作为邮件附件的形式发送过来;通过外网(即不是企业内部网Intranet,直接通过宽带路由器的网络线路,本单位两个会议室都有)。
最后,由于第一个建议的方法不可行(因对方是政府部门,他们摆架子,不肯帮你重新发送邮件以附件的形式),第二个建议的方法可行:帮她在会议室通过外网上OWA连接公司内部Exchange邮件服务器。
结果,打开此封邮件,正文方方正正地显示出信息来,原来正文是一个指导流程。此时,立即保存邮件信息,转发给其它部门的同事。
解决这一小小问题,虽不能彻底地解决这个问题,但我采用“迂回战术”的方式来解决,也算及时帮助同事解决棘手的办公问题呀,听到对方不断地感谢时,心里乐滋滋的!
附件:在网络上搜索到一些乱码邮件方面的资料,以供参考,也备以后不时之需!
遇到乱码邮件,首先要判断产生的原因。
出现乱码的原因很多,其中一种可能是由于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格式非常相似,它们的差别仅仅在于“信头”部分的不同。
为了尽量避免出现乱码问题,下面给出几点建议:
●利用“附件”功能发送文件
使用Netscape、Eudora或Pegasus等邮件系统附加这类非标准ASCII码格式的文件时,附加文件通常可以自动进行“base64”方式编码(仅对附件部分进行编码)。在用“附件”方式发送邮件之前,无需进行编码;如果编码的话,将会给解码带来很多麻烦,意即收件人必须再一次进行解码。一般来说收件人都可以成功解码这类“附加”文件,因此强烈建议你采用这种方法发送中文类邮件。
●如果无法以附件方式发送文件,则必须在正文中发送中文或二进制文件
如果发/收件人之间远隔×××,如在中国和美国之间,则传送过程中,第八位将可能被截掉。这时最好先在正文中用中文给收件人发一封测试信,并了解对方能否正确收到邮件正文。如果第八位被截掉,则收件人将会看到一些乱码,而不是上述的uu/b64/Qp等格式,而且这种信件几乎不可恢复。这种情况的解决方案是,在Netscape、Eudora或Pegasus Mail等你所使用的邮件系统中,选择其首选项或选项配置中的“Quoted Printalbe”或“MIME encoding”。
●发送重要信息时先发测试信
发送重要信息时,为了确认是否无须编码即可发送正文,应该先发送测试信。而且还应确定收件人能否对附件文件进行解码。如果发送已经编码的邮件,则最好添加足够的“信头”信息,以便收件人知道所需的解码方法。建议对uuencode/UUDeview编码方式用uuencoding作信头,对pack编码方式用base64 encoding作信头。

转载于:https://blog.51cto.com/zxgchinese/461438

Emai乱码——解决的“迂回”战术相关推荐

  1. java中文乱码解决之道(二)—–字符编码详解:基础知识 + ASCII + GB**

    原文出处:http://cmsblogs.com/?p=1412 在上篇博文(java中文乱码解决之道(一)-–认识字符集)中,LZ简单介绍了主流的字符编码,对各种编码都是点到为止,以下LZ将详细阐述 ...

  2. pycharm 运行控制台中文乱码解决办法

    pycharm 运行控制台中文乱码解决办法

  3. vs code中文乱码解决方法

    修改 1.(安装方法) 2.显示终端输入数据输出结果(完美解决) 3.修改部分:中文乱码解决方法 第一步: 第二步: 1.(安装方法) 转载于: https:blog.csdn.net/qq_4304 ...

  4. Zabbix 中文乱码解决

    Zabbix 中文乱码解决 1.在本地的C:\Windows\Fonts下选择自己喜欢的字体,此处选择黑体(我只测试过宋体,楷体,黑体,幼圆其他中文字体应该都支持) 在C:\Windows\Fonts ...

  5. Ubuntu10.04下gFtp2.0.19 远程客户端中文乱码解决方法

    Ubuntu10.04下gFtp2.0.19 远程客户端中文乱码解决方法如下: 1.打开"gFTP-FTP-属性-常规-远程字符集": 2.将远程字符集设置为:gb2312,gbk ...

  6. 【数据库】MySQL乱码解决(存入数据乱码和查询输出乱码)

    一般在安装和设置MySQL的时候会选择将其编码格式设置为UTF8,以保证数据库在不用语言环境下的适应性.但是一般在Win下使用的时候,本机编码集却是GBK或者GB2312.这样在Win下的GBK编码输 ...

  7. C# .net中cookie值为中文时的乱码解决方法

    C# .net中cookie值为中文时的乱码解决方法 一.cookie的名称或子cookie的名称不能为中文,否则无法获得cookie 这个好办,名称不用中文即可 二.cookie的值为中文时候,取c ...

  8. navicat for mysql 显示中文乱码解决办法

    navicat for mysql 显示中文乱码解决办法   最近遇到一个问题,用navicat for mysql 打开数据库时全都显示的是乱码(在用程序代码插入数据之前确保字符不是乱码),遇到问题 ...

  9. python cmd 窗口 中文乱码 解决方法 (附:打印不同颜色)

    python cmd 窗口 中文乱码 解决方法 (附:打印不同颜色) 参考文章: (1)python cmd 窗口 中文乱码 解决方法 (附:打印不同颜色) (2)https://www.cnblog ...

最新文章

  1. weblogic项目java.sql.SQLException: ORA-01861: 文字与格式字符串不匹配 at oracle.jdbc.....错误解决
  2. 基于qml创建最简单的图像处理程序(1)-基于qml创建界面
  3. WordPress 网站开发“微信小程序“实战(二)
  4. matlab中服从高斯分布的矩阵_推荐基础算法之矩阵分解PMF
  5. 计算机文档vmware安装虚拟机,教你如何用VMware虚拟机安装系统.docx
  6. java通用日志记录_JAVA实现通用日志记录方法
  7. c语言管理系统的数据存放,编的学生成绩管理系统 从文件中读取保存数据总会多读入一组乱码数据...
  8. 全局变量_Python函数中的全局变量与局部变量
  9. 工厂电子产品工艺文件_建智能工厂,人机如何达到最佳组合?
  10. python os popen_Python os.popen() 方法
  11. opencv-api matchShapes
  12. cygwin的安装使用
  13. 如何创建隐藏用户帐号
  14. 苹果Mac鼠标光标丢失如何找回?
  15. SQL 获取当前系统时间 以及对日期的加减处理
  16. mysql可视化工具选型
  17. Biotin-PEG2000-Pyrene 含有生物素和芘丁酸的PEG,Pyrene-PEG2000-Biotin
  18. 15个非常实用的JavaScript表单验证库
  19. SPP: Spatial Pyramid Pooling
  20. python自动发邮件报554错误_python-自动化测试结果发送邮件报错(smtplib.SMTPDataError: (554, b'DT:SPM 163……)解决方法...

热门文章

  1. 线程池中keepAliveTime的理解
  2. 行为模式之Intepreter模式
  3. Day12 Java异常处理与程序调试
  4. there are no packages available for installation插件安装问题和如何配置浏览器的快捷键...
  5. 为什么有这个提示“Escape character is '^]'.”?(转载)
  6. OVS sflow(二十六)
  7. leetcode算法题--K站中转内最便宜的航班★
  8. chrome调试的JavaScript官方技巧
  9. 奇奇seo优化软件_seo优化软件如何选择
  10. 详析VC中坐标系的建立