我知道声明使用老式页面的字符集,像这样:重写元字符编码声明
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
将覆盖使用较新的风格,像这样一个网页的字符集的任何声明:
<meta charset="utf-8" />
但我想知道两个旧式声明会做什么?第一个接管第二个?第二个被接管了吗?或者它们都被省略,并且仅仅被排除在确定页面的实际编码的算法的其余部分之外。
例
作为一个例子,我想知道这在下面段字符编码声明将被接受,并分解成确定页的字符编码的算法:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
...
</head>
我无法在规格或任何其他声誉良好的来源中找到答案f文档(尽管我可能错过了它)。
侧面说明
我不与正确设置页面的字符编码问,因为一个困难的这个问题,而是因为我很好奇的答案,以及是否浏览器更喜欢第一个或第二个声明。因此,替代解决方案/解决方法将不会成为这个问题的可行答案。
感谢您的帮助!快乐的编码! :)
之一在MDN文档中为'标签提到的事情如下:*尤其是,HTTP Content-Type标题和任何BOM元素优先于[meta charset'元素。说它在HTML5中是标准化的,你的意思是说,尽管两者在语义上相似,而一个目前优先于另一个,但在未来情况并非如此? –
或者你的意思是说'HTTP Content-Type Header'和'meta http-equiv =“Content-Type”元素实际上是不同的,并且具有不同级别的重要性? –
正在标准化的是'meta'标签的处理。即使根据现有的HTML规范,HTTP标头也优先于它们。BOM甚至超过HTTP头的优先级是当前的做法,违反了HTTP协议,并且正在使用HTML5进行标准化。 –