【问题标题】:Which charset to use for multipart/alternative text/plain?哪个字符集用于多部分/替代文本/纯文本?
【发布时间】:2013-02-19 16:55:36
【问题描述】:

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

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

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

【问题讨论】:

    标签: mime email-client


    【解决方案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
    

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

    【讨论】:

      猜你喜欢
      • 2018-07-17
      • 2011-09-24
      • 1970-01-01
      • 2011-05-20
      • 2018-07-18
      • 2020-12-04
      • 2017-08-30
      • 1970-01-01
      • 2021-05-19
      相关资源
      最近更新 更多