收到的邮件正文全是乱码问号怎么恢复正常显示

问题

客户发来的邮件,打开正文一串乱码:有的是「烫烫烫」方块,有的是一排「????」,有的是 %E4%BD%A0 之类的编码串。转发给同事,同事那边显示又正常。这是我的邮箱坏了吗?

最常见原因

乱码的本质是编码不匹配:发件方用一个字符编码(如 GBK/GB2312)写的信,你的邮箱按另一个编码(如 UTF-8)去解读,文字就对不上号。常见触发场景:

  1. 老系统/老设备发出的邮件用 GBK 编码,新客户端默认 UTF-8;
  2. 对方用的是海外邮件系统,没正确声明中文编码;
  3. 全是「?」的基本无解:问号意味着编码转换时信息已丢失(常见于经过多套网关转码),需要对方重发;
  4. 你自己的客户端默认编码设置不当。

分步解决

第一步:先在网页版打开这封邮件。登录邮箱网页版找这封邮件——网页版的自动识别通常更聪明,很多乱码在网页版直接就正常了。网页版正常、客户端乱码 → 纯客户端显示问题,走第三步;两边都乱 → 编码信息确实错了,走第二步。

第二步:手动切换编码(客户端操作)。

  • Outlook:打开该邮件 → 右键点击正文空白处 → 「编码」→ 先试 Unicode (UTF-8),不行再试 简体中文(GB2312/GBK)
  • Foxmail:打开邮件 → 右上角「更多」→ 编码 → 同样在 UTF-8 和 GBK 之间切换;
  • 网页邮箱:读信页面找「编码/显示编码」菜单(通常在右上角更多里)切换。 多试两个编码,文字能恢复的样子一眼就能认出来。

第三步:把自己客户端的默认编码固定为 UTF-8。Outlook:文件 → 选项 → 高级 → 「国际选项」→ 勾选「自动选择待发邮件的编码」并把首选编码设为 UTF-8。UTF-8 是覆盖中英文最全的编码,双方都用它,乱码概率最低。

第四步:还是「???」的,请对方重发。问号说明数据在传输中已被转码破坏,本地无解。让对方重发时:别用转发(会带着坏编码走),用原信重新编辑发送或把文字粘贴到新邮件/附件(Word/TXT)里发来。

第五步:长期往来乱码的老客户。让对方在其邮件系统里把发信编码改为 UTF-8;如果对方系统太老改不了,你这边记下「他的邮件用 GBK 读」,收到就手动切一次。

怎么预防

  • 全公司客户端默认编码统一 UTF-8(装机规范里写死);
  • 与海外客户、政府单位往来,重要内容加一份附件(PDF 最稳),正文乱码时附件仍是完整凭证;
  • 老业务系统自动发信(ERP/工单通知)上线前,测试一把中文编码;
  • 收到乱码先「网页版 + 切编码」两招自救,解决不了再让重发,别一来一回耗一天。