繁体   English   中英

有没有理由不将HTML编码设置为UTF-8?

[英]Is there any reason NOT to set HTML encoding to UTF-8?

有没有什么好的理由不在日常开发中使用UTF-8作为编码?

IE:在<head>...</head>使用以下标记是否有任何缺点?

<meta charset="utf-8">

有没有什么好的理由不在日常开发中使用UTF-8作为编码?

并不是的。 UTF-8和日本的旧网络邮件服务以及一些仍然偏爱Windows ANSI代码页的狡猾的文本编辑器都有不太好的利基,但它们正在慢慢消失,大多数人都可以忽略它们。

像中国软件产品一样,有一些法律问题不得不支持令人讨厌的旧版GB18030,但这并不排除UTF-8支持,也不会影响我理解的网站。

虽然其他编码可以比UTF-8更小,但通常没有足够的差别来照顾或抵消其余Unicode曲目的丢失。 UTF-16仍然可以涵盖所有内容,理论上对于非ASCII BMP文本来说可能更小......但对于HTML来说,总是被包括标签和空格在内的所有ASCII文本的额外长度所淹没。 另外,UTF-16在网络上运行不佳。

在任何情况下,你都希望能够压缩你的页面,即使这个小的差异接近于空白。

<meta charset="utf-8">

这是一种花哨的现代方式,但是为了在旧浏览器中提供更广泛的支持,我仍然会这样做:

<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />

正如这提示的那样,你实际在做的是伪装一个带有charset的HTTP头。所以你还需要确保没有真正的 HTTP Content-Type ... charset参数,因为真正的头部参数胜过HTML'meta'-hack。 Apache AddDefaultCharset指令有时不明智地用于为您提供您可能不需要的charset

它实际上归结为您在页面上显示的字符。

这是SO联合创始人Joel S的一篇好文章: http//www.joelonsoftware.com/articles/Unicode.html

它并不重要,因为它在大多数情况下会被忽略,通常会使用HTTP Content-Type标头。 我也认为在旧版浏览器中会被忽略。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM