0

我的任务是发送大多数收件人会读为 HTML 的电子邮件。对于那些无法阅读 HTML 或选择不阅读的人,将包含一个 MIME 文本/纯文本替代方案。

HTML 为英文,包含来自 Latin-1 Supplement 和 General 标点的字符,因此 US-ASCII 或 ISO-8859-1 不会保留所有这些字符。我可以通过在编码之前替换字符来缓解。

我的问题是 text/plain 部分使用哪个字符集?US-ASCII、ISO-8859-1 或 UTF-8。相关问题是仍在使用哪些基于文本的电子邮件客户端,它们是否支持这些字符集?

4

1 回答 1

1

我没有关于基于文本的电子邮件客户端阅读字符集的能力的答案,所以我看看常见的电子邮件发件人如何编码他们的替代文本。

GMail 和 Outlook (2007) 都选择可以表示内容的最小字符集。换句话说,如果文本很简单,他们使用 US-ASCII,如果存在欧洲字符,他们使用 ISO-8859-*,或者对于大跨度的字符,他们使用 UTF-8。

Outlook 在我的一项测试中有点问题。我输入了一些通用标点符号。Outlook 使用 WINDOWS-1252 对其进行编码,但将其标记为 ISO-8859-1。

伪代码问题的答案是

for charset in us-ascii, iso-8859-1, utf-8
    if encode(text, charset)
        break

字符集列表适合我期望的输入。

于 2013-03-12T13:33:10.853 回答