我应该为HTTP标头使用什么字符编码?我正在使用一个“有趣”的HTML特殊字符(✰)(请参阅http://html5boilerplate.com/获取更多信息)获取ServerHTTP标头,并且我想知道它是否符合每个规范。在Windows Xp Pro SP 3上使用Chrome中的开发工具中的网络选项卡,我看到✰很好。在IE8中,✰ 未正确呈现。w3.org HTML验证器无法正确呈现它(显示“ â°”代替)。现在,我不太热衷于角色编码......坦率地说,我并不太关心它们; 我只是盲目地使用UTF-8 cus我被告知。:-)是不是由不同的解析器/浏览/引擎/中的错误引起的差异(无论他们被称为什么)?是否有针对此标准或可能是HTTP标头“值”的允许字符列表?
2 回答

BIG阳
TA贡献1859条经验 获得超6个赞
简而言之:只保证ASCII能够正常工作。允许一些非ASCII字节用于向后兼容,但不应该是可显示的。
HTTPbis放弃并指定在标题中除了ASCII之外没有有用的编码:
从历史上看,HTTP允许在ISO-8859-1字符集[ISO-8859-1]中使用文本的字段内容,仅通过使用[RFC2047]编码支持其他字符集。实际上,大多数HTTP头字段值仅使用US-ASCII字符集[USASCII]的子集。新定义的标题字段应该将其字段值限制为US-ASCII八位字节。收件人应该将字段内容(obs-text)中的其他八位字节视为不透明数据。
以前,1999年的RFC 2616定义了这个:
只有当根据RFC 2047 [14]的规则进行编码时,* TEXT的字才能包含ISO-8859-1 [22]以外的字符集中的字符。
和RFC 2047是MIME编码,所以它是:
=?UTF-8?Q?=E2=9C=B0?=
但我不认为很多(如果有的话)客户支持它。
- 2 回答
- 0 关注
- 584 浏览
相关问题推荐
添加回答
举报
0/150
提交
取消