HTML5网页中定义字符集的最佳方法是什么?

3
那么,如何最好地定义呢?谢谢!
<meta charset='utf-8'>

或者

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

或者

  <meta http-equiv='charset' content='utf-8'>

最好的方法可能是确保在服务器请求页面时设置“Content-type”标头。 - zzzzBov
你的编辑删除了一些答案的上下文... - canon
4个回答

2
第一种选项,<meta charset='utf-8'>,是首选,主要是因为它最短。
请注意,字符集声明应该是<head>的第一个子元素,在任何用户可控内容之前。(特别是在<title>之前)

1

在HTML5中,它们是相等的,但我建议使用第一种形式,因为它更短、更容易记忆,并且设计用于向后兼容老浏览器,即使在Internet Explorer 6中也是如此()。


1
最佳且建议的方式是在HTTP头部和标签中都指定字符编码(“charset”),对于UTF-8,还可以在开头使用字节顺序标记。请注意,任何HTTP头部和标签之间的冲突都以HTTP头部为准。
两种形式的使用方法并不那么重要,但较短的形式更安全(更少出现打错或复制错误的机会)。
参考资料:HTML5 CR中的指定文档的字符编码和W3C页面字符编码
问题中提到的第三个标签<meta http-equiv='charset' content='utf-8'>是无效的,没有任何作用。(W3C验证器说:“元素上的属性http-equiv的值charset无效。”)

-1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接