W3C "与HTML4的HTML5差异"工作草案指出:
对于HTML语法,作者需要声明字符编码.
"必需"是什么意思?
显然,浏览器仍然会在没有charset元标记的情况下呈现HTML5.如果未指定编码,浏览器将使用哪种编码?
基本上,我想知道是否确实需要包含<meta charset="">,或者99%的浏览器是否会使用正确的编码.
我有以下HTML5文档:
\n\n<!DOCTYPE html>\n<html>\n <head> </head>\n <body>\n <p>Betr\xc3\xa4ge: 20\xe2\x82\xac</p>\n </body>\n</html>\nRun Code Online (Sandbox Code Playgroud)\n\n上述 cod 的输出如下:
\n\nBetr\xc3\x83\xc2\xa4ge: 20\xc3\xa2\xe2\x80\x9a\xc2\xac\nRun Code Online (Sandbox Code Playgroud)\n\n我尝试了下面的HTML5代码:
\n\n<!DOCTYPE html>\n<html>\n <head>\n <meta charset="UTF-8">\n </head>\n <body>\n <p>Betr\xc3\xa4ge: 20\xe2\x82\xac</p>\n </body>\n</html>\nRun Code Online (Sandbox Code Playgroud)\n\n上面的代码给出了我所期望的以下输出:
\n\nBetr\xc3\xa4ge: 20\xe2\x82\xac\nRun Code Online (Sandbox Code Playgroud)\n\n据我所知,HTML5的默认字符编码是UTF-8。它的默认值意味着不应在<meta>标记内显式指定它。
因此,在我的第一个代码片段中,我跳过了代码<meta charset="UTF-8">,但我得到了一些奇怪的意外结果。
<meta charset="UTF-8">然后,我尝试在一对标签之间添加代码<head>,它工作得很好,我得到了预期的结果。
所以,我的问题是,既然HTML5中的默认字符编码已设置为UTF-8,为什么如果没有明确指定它就不起作用?
\n\n为什么需要在HTML5文档中指定字符编码“UTF-8”?
\n