hCard 能理解编码吗?
Posted
技术标签:
【中文标题】hCard 能理解编码吗?【英文标题】:Does hCard understand encodings? 【发布时间】:2012-11-15 14:48:49 【问题描述】:我正在使用 Firefox 的 Operator 扩展。
当我转到http://microformats.org/wiki/hcard(编码为 utf-8)并尝试将 Tantek Çelik(在顶部)的 hCard 导出到 Outlook 时,它以 Tantek Çelik 的形式出现。
有谁知道这是 Outlook、Operator 扩展的问题,还是 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,并明确禁止外部来源覆盖该要求。
感谢您的参考。以上是关于hCard 能理解编码吗?的主要内容,如果未能解决你的问题,请参考以下文章