为了定义HTML5 Doctype的字符集,我应该使用哪种符号?
短:<meta charset=“utf-8”/>长:<meta http equiv=“Content Type”Content=“text/html;charset=utf-8”/>
为了定义HTML5 Doctype的字符集,我应该使用哪种符号?
短:<meta charset=“utf-8”/>长:<meta http equiv=“Content Type”Content=“text/html;charset=utf-8”/>
当前回答
要在电子邮件中嵌入签名,我会使用长版本:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
原因是没有多少电子邮件阅读器使用HTML5,所以最好使用旧的HTML样式。实际上,使用表也比使用divs+CSS更好。
其他回答
要在电子邮件中嵌入签名,我会使用长版本:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
原因是没有多少电子邮件阅读器使用HTML5,所以最好使用旧的HTML样式。实际上,使用表也比使用divs+CSS更好。
有一些基于Mozilla基金会和SitePoint的新闻:
不要使用此值(http-equiv=content-type),因为它已过时。首选<meta>元素上的charset属性。
虽然不质疑其他答案,但我认为以下内容值得一提。
“长”(http equiv)符号和“短”符号相等。先到者获胜;Web服务器标头将覆盖所有<meta>标记;BOM(字节顺序标记)将覆盖所有内容,在许多情况下,它将影响HTML4(可能还有其他内容);如果您没有声明任何编码,您可能会在浏览器定义的“回退文本编码”中获取文本。在Firefox和Chrome中都不是UTF-8;在没有其他线索的情况下,浏览器将尝试读取您的文档,就好像它是ASCII码一样来获取编码,因此您不能使用任何奇怪的编码(不过,带BOM的UTF-16应该可以);虽然规范规定编码声明必须在文档的前512字节内,但大多数浏览器都会尝试读取更多。
您可以通过运行echo“HTTP/1.1 200 OK”进行测试\r\n内容类型:text/html;charset=windows-1251\r\n\r\nxef\xbb\xbf<!DOCTYPE html><html><head><meta http equiv=“Content Type”Content=“text/html;charset=utf-8”><meta charset=“windows-1251”><title>привет</title></head><body>повт</body></html>'|nc-lp 4500,并将浏览器指向localhost:4500。(当然,您需要更改或删除零件。BOM零件是\xef\xbb\xbf。请注意外壳的编码。)
请注意,显式声明编码非常重要。让浏览器猜测可能会导致安全问题。
使用HTML5时,请在web浏览器中使用<meta charset=“utf-8”/>。
当使用HTML4或XHTML时,或者对于过时的DOM解析器(如PHP 5.3中的DOMDocument),请使用<meta-http-equiv=“Content-Type”Content=“text/html;charset=utf-8”/>。
<meta charset=“utf-8”>是为HTML5引入的。
如文件中所述,两者均有效。然而,<meta charset=“utf-8”>仅适用于HTML5(并且更容易键入/记住)。
在适当的时候,旧风格在不久的将来必然会被弃用。我会坚持使用新的<meta charset=“utf-8”>。只有一条路,但向上。就科技而言,这是在逐步淘汰旧的(真的,真的很快)
文档:HTML元字符集属性-W3Schools