5

我应该这样声明字符集:

<meta http-equiv="content-type" content="text/html" charset="utf-8" />

或像这样:

<meta http-equiv="content-type" content="text/html; charset=utf-8"/>

还是两者都有效?

4

3 回答 3

4

这两个声明都是有效的,你总是可以使用简短的等效版本:

<meta charset="utf-8" /> 

希望这可以帮助。

于 2016-07-08T21:28:07.153 回答
3

因为你开始一个文件

<!DOCTYPE html>

我怀疑是否有必要指定内容类型。相反,只需指定编码/字符集:

<head>
   <meta charset="UTF-8">
</head>
于 2016-07-08T21:31:05.097 回答
2

根据@Alohci 的评论更新。

请参阅W3C 的文档<meta http-equiv="...">

编码声明状态 ( http-equiv="content-type")

编码声明状态只是设置属性的另一种形式charset:它是一个字符编码声明。该状态的用户代理要求全部由规范的解析部分处理。

对于具有http-equiv处于编码声明状态的属性的元元素,内容属性必须具有一个与字符串匹配的不区分大小写的 ASCII 值,该字符串由以下内容组成:文字字符串"text/html;"可选地后跟任意数量的空格字符,后跟文字字符串"charset=",后跟字符编码声明的字符编码标签之一。

一个文档不能同时包含具有http-equiv编码声明状态的属性的元元素和具有该charset属性的元元素。强调我的

因此,如果要使用http-equiv,必须将其用作<meta http-equiv="Content-Type" content="text/html; charset=utf-8">。但是,这只是另一种说法<meta charset="utf-8">,所以请使用缩写形式。

于 2016-07-08T21:41:10.293 回答