![为什么邮递员要用弯曲的字母代替非拉丁字母?](https://linux22.com/image/793144/%E4%B8%BA%E4%BB%80%E4%B9%88%E9%82%AE%E9%80%92%E5%91%98%E8%A6%81%E7%94%A8%E5%BC%AF%E6%9B%B2%E7%9A%84%E5%AD%97%E6%AF%8D%E4%BB%A3%E6%9B%BF%E9%9D%9E%E6%8B%89%E4%B8%81%E5%AD%97%E6%AF%8D%EF%BC%9F.png)
问题的本质是,当发送一封 HTML 信件时,其中插入了从其他包含非拉丁字母的来源插入的格式化文本(例如,从波兰语网页复制的文本),该信件到达收件人时,文本已损坏:插入的不是非标准字母(ą、ę、ż、ź),这些字母不属于英语字母表,而是“С=3”形式的代码,这会使文本无法阅读。此外,这封电子邮件中的所有文本格式和表格都崩溃了。它变成了一堆英文字母、特殊符号和数字。如何处理这个问题?是否可以解决?
附言:当直接向一个或多个收件人发送同一封信时,格式不会中断。问题仅在通过邮递员向邮件列表发送时发生。问题并非 100% 都会发生。这完全取决于格式化文本的复制来源。在所有观察到的情况下,先将文本复制到 Microsoft Word 中,然后再复制到 Thunderbird 中,然后再发送,这样会有所帮助。
答案1
它既不腐败也不扭曲,但是引用可打印内容传输编码(RFC 2045, 6.7)。
Quoted-Printable 编码旨在表示主要由与 US-ASCII 字符集中的可打印字符相对应的八位字节组成的数据。它以这样一种方式对数据进行编码,使得生成的八位字节不太可能被邮件传输修改。如果被编码的数据主要是 US-ASCII 文本,则数据的编码形式在很大程度上仍可被人类识别。
形式不是C=3
,但序列以 开头,=
后跟两个十六进制字符。例如,unicode