【问题标题】:Does hCard understand encodings?hCard 能理解编码吗?
【发布时间】:2012-11-15 14:48:49
【问题描述】:

我正在使用 Firefox 的 Operator 扩展。

当我转到http://microformats.org/wiki/hcard(编码为 utf-8)并尝试将 Tantek Çelik(在顶部)的 hCard 导出到 Outlook 时,它以 Tantek Çelik 的形式出现。

有谁知道这是 Outlook、Operator 扩展的问题,还是 hCard 微格式不支持编码?

我尝试过使用 &...;等价,结果相同。

【问题讨论】:

    标签: utf-8 hcard


    【解决方案1】:

    hCard 是一种将 vCard 转码为 HTML 的方法。 vCard 本身不为其内容指定字符编码,但用于传递 vCard 数据(例如通过 HTTP)的 MIME Content-Type 标头可以指定编码。 vCard 数据必须解码为 Unicode,然后以 HTML 使用的任何编码转换为 HTML。我不熟悉 Operator,但我怀疑它在导入 Outlook 之前没有正确解码/编码 hCard,或者 MicroFormats 网站一开始就没有正确格式化 hCard。

    【讨论】:

    • 我相信 vCard(不要与 hCard 微数据格式或 hCard 微数据格式的 vcard 类混淆)可以指定内容的编码,例如FN;ENCODING=QUOTED-PRINTABLE:Foo。微格式嵌入到 html 文档中,因此没有单独的 MIME 类型。
    • ENCODING=QUOTED-PRINTABLE 是二进制数据编码,而不是字符编码(顺便说一句,QUOTED-PRINTABLE 在 2.1 之后的 vCard 规范不再支持)。有一个很大的不同。 hCard 基于的 vCard 规范 (RFC 2426) 不支持内联字符集编码,并明确表示用于非 ASCII 文本的字符集必须在 vCard 之外指定,例如通过 MIME 标头、HTML 字符集等. vCard 4 (RFC 6350) 消除了这种可能性,要求对非 ASCII 文本使用 UTF-8,并明确禁止外部来源覆盖该要求。
    • 感谢您的参考。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-19
    • 2020-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-29
    相关资源
    最近更新 更多