为了定义HTML5 Doctype的字符集,我应该使用哪种符号?

短:<meta charset=“utf-8”/>长:<meta http equiv=“Content Type”Content=“text/html;charset=utf-8”/>


当前回答

这两种形式的元字符集声明都是等效的,并且在不同的浏览器之间应该是相同的。但是,在将web文件字符集声明为UTF-8时,需要记住以下几点:

以UTF-8编码保存文件,不使用字节顺序标记(BOM)。使用元字符集在HTML文件中声明编码(如上所述)。web服务器必须为文件提供服务,在Content-Type HTTP标头中声明UTF-8编码。

默认情况下,Apache服务器配置为提供ISO-8859-1中的文件,因此您需要在.htaccess文件中添加以下行:

AddDefaultCharset UTF-8

这将配置Apache以提供在Content-Type响应标头中声明UTF-8编码的文件,但首先必须以UTF-8(无BOM)保存文件。

记事本无法在没有BOM的情况下以UTF-8格式保存文件。可以使用Notepad++的免费编辑器。在程序菜单栏上,选择“编码>编码为UTF-8,不带BOM”。您还可以使用“编码>转换为UTF-8而不使用BOM”打开文件并以UTF-8格式重新保存。

有关维基百科字节顺序标记(BOM)的更多信息。

其他回答

在HTML5中,它们是等价的。使用较短的,因为它更容易记忆和打字。浏览器支持很好,因为它是为向后兼容而设计的。

这两种形式的元字符集声明都是等效的,并且在不同的浏览器之间应该是相同的。但是,在将web文件字符集声明为UTF-8时,需要记住以下几点:

以UTF-8编码保存文件,不使用字节顺序标记(BOM)。使用元字符集在HTML文件中声明编码(如上所述)。web服务器必须为文件提供服务,在Content-Type HTTP标头中声明UTF-8编码。

默认情况下,Apache服务器配置为提供ISO-8859-1中的文件,因此您需要在.htaccess文件中添加以下行:

AddDefaultCharset UTF-8

这将配置Apache以提供在Content-Type响应标头中声明UTF-8编码的文件,但首先必须以UTF-8(无BOM)保存文件。

记事本无法在没有BOM的情况下以UTF-8格式保存文件。可以使用Notepad++的免费编辑器。在程序菜单栏上,选择“编码>编码为UTF-8,不带BOM”。您还可以使用“编码>转换为UTF-8而不使用BOM”打开文件并以UTF-8格式重新保存。

有关维基百科字节顺序标记(BOM)的更多信息。

<meta charset=“utf-8”>是为HTML5引入的。

如文件中所述,两者均有效。然而,<meta charset=“utf-8”>仅适用于HTML5(并且更容易键入/记住)。

在适当的时候,旧风格在不久的将来必然会被弃用。我会坚持使用新的<meta charset=“utf-8”>。只有一条路,但向上。就科技而言,这是在逐步淘汰旧的(真的,真的很快)

文档:HTML元字符集属性-W3Schools

使用HTML5时,请在web浏览器中使用<meta charset=“utf-8”/>。

当使用HTML4或XHTML时,或者对于过时的DOM解析器(如PHP 5.3中的DOMDocument),请使用<meta-http-equiv=“Content-Type”Content=“text/html;charset=utf-8”/>。

有一些基于Mozilla基金会和SitePoint的新闻:

不要使用此值(http-equiv=content-type),因为它已过时。首选<meta>元素上的charset属性。