在别的邮件列表中,要求“使用 utf8” 有两种不同意思,
第二种意思跟某些列表说的“纯文本”是一回事 1. 就是原始文字的编码, 这个在 Gmail 设置里选取“Use Unicode (UTF-8) encoding for outgoing messages“ 或 ”一律使用 Unicode(UTF-8)“类似字样就可以了 这个其实平时问题不大(只要别碰上将 GB18030 也声称为 GB2312 的国产破旧邮件服务导致丢字) 常见的客户端除了 evolution 都能很好处理 UTF-8、GB18030 等不同编码的中文邮件。 不过有些邮件列表所用的 mailman 会把 GB18030/GB2312 编码的中文邮件弄乱码 2. 也可能指的是非 ASCII 字符的编码方式, Mutt 是直接发送 UTF-8 字符串(另一种意思的“纯文本”) 不过因为网上还有许多邮件服务器只支持传递纯 ASCII 信息(只允许 7bits 的英文字母数字这些,不允许其他字符如中文), 于是 Outlook、Gmail 等主流客户端会试图把新建里的非 ASCII 字符(比如中文)都编码为纯 ASCII 编码(英文字母数字这些), 如采用 quoted-printable 或 Base64 编码 常见的策略是,如果文字里大部分都是英文,那就用 quoted-printable,如果中文较多,则使用 Base64 比如你写了一封邮件内文是: “Hello, 这是一封中文 Email~“ 在 Mutt 里会直接把这个 UTF-8 字符串贴到 mail 格式里, 这在多数情况下没问题,但是如果你这封邮件投递转发过程中遇到有旧的 Email 服务器, 就会被破坏掉(只支持 7bits 的服务器会把第 8bit 丢掉,而中文需要 8bit,于是就坏掉了) 而 Outlook 可能会用 quoted-printable(quopri)编码转码下变成: "Hello,=20=E8=BF=99=E6=98=AF=E4=B8=80=E5=B0=81=E4=B8=AD=E6=96=87=20Email~" 可以看到里边的非英文被弄成“=XX”形式了 在 Gmail 则可能会用省点空间的 Base64 编码转换成: “SGVsbG8sIOi/meaYr+S4gOWwgeS4reaWhyBFbWFpbH4=” 在正常人的邮件来往,以及多数邮件列表里边,这些编码其实都问题不大 (只要别碰上将 GB18030 也声称为 GB2312 的国产破旧邮件服务导致丢字) 但是在 KML 之类开发邮件列表, 由于习惯于在邮件正文里附上补丁,而他们又习惯于直接把邮件原始内容作为补丁文件使用, 于是如果使用了 quoted-printable 或 base64 编码, 命令行的 patch 就会弄错字符(KML 那些黑客多不使用中文,所以没特地处理 quoted-printable 或 base64 编码) 另外,某些人倾慕 Emacs 这等神器,但是又不肯去配置好 Emacs 中文 (默认的 Emacs 带了个基本的邮件客户端,但是一样没特地处理 quoted-printable 或 base64 编码) 所以为了兼容而做的 base64 编码在他们的 Emacs 里也是显示不了中文。 2011/1/30 林泽耸 <[email protected]>: > How to use UTF-8 in Gmail? > So poor my english > > 在 2011年1月28日 下午9:17,Aron Xu <[email protected]> 写道: >> (噢,不。。。又是这个人,又是这个话题。。。) >> >> 1. 引文风格 >> 2. 正文格式 >> >> 尽量用纯文本,不要用 HTML 格式 >> 尽量少用附件 >> 用 UTF-8 编码 >> 注意换行,一行不超过 80 个字符,保持在 72 个字符更保险。行长尽量等长,段落之间用空行分隔,利于阅读。 >> >> 3. 标题 -- ubuntu-zh mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-zh
