为什么在 David 信息中心阅读时,某些收到的电子邮件中的(俄语)字符会发生变化?

为什么在 David 信息中心阅读时,某些收到的电子邮件中的(俄语)字符会发生变化?

我使用 David InfoCenter 作为电子邮件软件,但在处理一些俄语电子邮件时遇到了问题。只有几个字母,在一些电子邮件中(由不同的人发送),例如“R”(俄语中的“Р”)会显​​示为“Т”。在其他俄语电子邮件中,问题并没有出现。这难道不奇怪吗?有人遇到过同样的问题并找到原因了吗?

当我将该电子邮件传输到外部邮箱(互联网电子邮件帐户)时,情况更糟,显示的是符号而不是全部俄文字母。

默认编码是“俄语(ISO)”,我将其更改为“俄语(Windows)”,但问题仍然存在。另一个奇怪的反应是,当我写一封内部电子邮件并将其命名为俄语(Тест)的“测试”时,如果在文本窗口中输入 Тест,标题会更改为“Oano”?但内容仍为俄语。

使用 Mailinator 我得到了以下关于消息和主题“Тест”的信息:

Subject: ????
[..]
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary="----_=_NextPart_000_00017783.4AF7FB71"
This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.
------_=_NextPart_000_00017783.4AF7FB71
Content-Type: text/plain;
charset="utf-8"
Content-Transfer-Encoding: base64
0KLQtdGB0YI=
------_=_NextPart_000_00017783.4AF7FB71
Content-Type: text/html;
charset="utf-8"
Content-Transfer-Encoding: base64
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv
L0VOIj4NCjxIVE1MPjxIRUFEPg0KPE1FVEEgaHR0cC1lcXVpdj1Db250ZW50LVR5cGUgY29udGVu
dD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxNRVRBIG5hbWU9R0VORVJBVE9SIGNvbnRl
bnQ9Ik1TSFRNTCA4LjAwLjYwMDEuMTg4NTIiPjwvSEVBRD4NCjxCT0RZIHN0eWxlPSJGT05UOiAx
MHB0IENvdXJpZXIgTmV3OyBDT0xPUjogIzAwMDAwMCIgbGVmdE1hcmdpbj01IHRvcE1hcmdpbj01
Pg0KPERJViBzdHlsZT0iRk9OVDogMTBwdCBDb3VyaWVyIE5ldzsgQ09MT1I6ICMwMDAwMDAiPtCi
0LXRgdGCPFNQQU4gDQppZD10b2JpdF9ibG9ja3F1b3RlPjxTUEFOIGlkPXRvYml0X2Jsb2NrcXVv
dGU+PC9ESVY+PC9TUEFOPjwvU1BBTj48L0JPRFk+PC9IVE1MPg==
------_=_NextPart_000_00017783.4AF7FB71--

答案1

分解一下这条消息:

主题: ????

太糟糕了,您的 David InfoCenter 做得不对。上面的内容应该是这样的:

主题:=?utf-8?Q?=D0=A2=D0=B5=D1=81=D1=82?=

所以,这是一个应该报告并修复的错误。

下一个:

MIME 版本:1.0
内容类型:multipart/alternative;
 边界=“----_=_NextPart_000_00017783.4AF7FB71”

上面的代码告诉收件人,在每一行“----_=_NextPart_000_00017783.4AF7FB71”之后,收件人都会发现格式不同的同一条消息。很好。

下一个:

此邮件为 MIME 格式。由于您的邮件阅读器无法理解
此格式,该消息的部分或全部可能无法辨认。

以上内容将对不支持 MIME 的旧电子邮件软件用户可见。很好。

下一个:

------_=_NextPart_000_00017783.4AF7FB71
内容类型:text/plain;
 字符集=“utf-8”
内容传输编码:base64
0KLQtdGB0YI=

以上是纯文本,没有粗体、斜体等。使用伟大的在线 Base64 解码器从 FileFormat.info 中,0KLQtdGB0YI=翻译回Тест。啊哈,不是您写的那种小写字母тест……?无论如何,看起来不错,一个好的电子邮件客户端应该理解这一部分。

更详细地说:0KLQtdGB0YI=实际上解码为十六进制d0 a2 d0 b5 d1 81 d1 82,您(应该)在上面的主题中看到相同的十六进制数字。(当未正确解码为 UTF-8 时,例如错误地解释为 Windows-1252 时,这将显示为ТеÑÑ‚。)

下一个:

------_=_NextPart_000_00017783.4AF7FB71
内容类型:text/html;
 字符集=“utf-8”
内容传输编码:base64
PCFET0NUWVBFIEhUTUwgUFVCTelDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv
L0VOIj4NCjxIVE1MPjxIRUFEPg0KPE1FVEEgaHR0cC1lcXVpdj1Db250ZW50LVR5cGUgY29udGVu
dD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxNRVRBIG5hbWU9R0VORVJBVE9SIGNvbnRl
bnQ9Ik1TSFRNTCA4LjAwLjYwMDEuMTg4NTIiPjwvSEVBRD4NCjxCT0RZIHN0eWxlPSJGT05UOiAx
MHB0IENvdXJpZXIgTmV3OyBDT0xPUjogIzAwMDAwMCIgbGVmdE1hcmdpbj01IHRvcE1hcmdpbj01
Pg0KPERJViBzdHlsZT0iRk9OVDogMTBwdCBDb3VyaWVyIE5ldzsgQ09MT1I6ICMwMDAwMDAiPtCi
0LXRgdGCPFNQQU4gDQppZD10b2JpdF9ibG9ja3F1b3RlPjxTUEFOIGlkPXRvYml0X2Jsb2NrcXVv
dGU+PC9ESVY+PC9TUEFOPjwvU1BBTj48L0JPRFk+PC9IVE1MPg==

以上内容与 HTML 格式的消息完全相同。这看起来差不多,尽管这根本不是有效的 HTML,因为标签没有按照打开的顺序关闭,并且应该id是唯一的,但id=tobit_blockquote在此单行消息中使用了两次。实际上,“blockquote”一词表明您可能从另一封邮件中复制了单词 Тест?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=utf-8">
<META name=GENERATOR content="MSHTML 8.00.6001.18852"></HEAD>
<BODY style="FONT: 10pt Courier New; COLOR: #000000" leftMargin=5 topMargin=5>
<DIV style="FONT: 10pt Courier New; COLOR: #000000">Тест<SPAN 
id=tobit_blockquote><SPAN id=tobit_blockquote></DIV></SPAN></SPAN>
</BODY></HTML>

此外,简单的消息不需要发送 HTML...

最后(请注意后面的两个破折号):

------_=_NextPart_000_00017783.4AF7FB71--

这告诉电子邮件软件所有格式都已结束。

这条测试邮件无法解释为什么Тест会变成这样Oano,因为问号永远无法解释成那样。也许问号根本不是真正的问号。无论如何:主题错误是您的电子邮件客户端的一个错误,它不会发送正确的主题。而且 HTML 也有问题。不要再使用该软件了。

答案2

这肯定是字符集和/或编码问题。如今,使用 Unicode 时,不再需要所有不同的字符集,如“俄语 (ISO)”和“俄语 (Windows)”。而且什么时候使用 Unicode,大多数消息将使用 UTF-8 进行编码。

所以:

  • 将字符集更改为 Unicode 有帮助吗?
  • 将编码更改为 UTF-8 有帮助吗?
  • 如果没有:您收到测试消息后,可以发布其来源吗?([email protected]在将其添加到问题中之前,请小心将所有电子邮件地址替换为类似的内容。)

所有电子邮件客户端都有不同的方式来显示真实来源,因此使用某些在线服务可能是解释如何查看收到的内容的最简单方法:

  • 向某个 Mailinator 帐户发送测试消息。无需创造一个帐户:您之前输入的任何内容@mailinator.com都可以,但请注意,任何猜出该地址的人都可以阅读收件箱。
  • 前往其收件箱mailinator.com
  • 点击主题打开邮件
  • 查看消息时,单击“(文本视图)”链接:

Mailinator 收件箱

  • 将显示类似以下内容的内容:

    Received: from [..] 
      by [..] 
      for &lt;[email protected]&gt;; Fri, 6 Nov 2009 11:58:10 +0100 (CET)
    Subject: =?utf-8?Q?Test_/_=D1=82=D0=B5=D1=81=D1=82?=
    From: Arjan &lt;[..]&gt;
    Content-Type: text/plain; charset=utf-8; format=flowed
    Message-Id: [..]
    Date: Fri, 6 Nov 2009 11:58:08 +0100
    To: [email protected]
    Content-Transfer-Encoding: quoted-printable
    Mime-Version: 1.0 (Apple Message framework v1076)
    X-Mailer: Apple Mail (2.1076)
    X-Virus-Scanned: by XS4ALL Virus Scanner
    
    A test / =D1=82=D0=B5=D1=81=D1=82 for Super User.
    
    Gr=C3=BC=C3=9Fen!
    
    Arjan.=
    .
    

以上,一些个人信息已被删除:无需向我们显示您的电子邮件地址或服务器详细信息(如 IP 地址)。

(出于某种原因,Mailinator 在上面屏幕截图中将消息“A test / тест for Super User. Grüßen!”的 UTF-8 编码源显示为 ASCII。看到诸如 ü 代表 ü 和 Ãe 代表 ß 之类的内容通常是未经解码的 UTF-8 编码文本。尽管如此,它还是可以很好地转换主题。最后一个点实际上是 SMTP 通信的遗留部分,可能已被 Mailinator 删除。)

相关内容