我应该这样声明字符集:
<meta http-equiv="content-type" content="text/html" 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" />
或像这样:
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
还是两者都有效?
这两个声明都是有效的,你总是可以使用简短的等效版本:
<meta charset="utf-8" />
希望这可以帮助。
因为你开始一个文件
<!DOCTYPE html>
我怀疑是否有必要指定内容类型。相反,只需指定编码/字符集:
<head>
<meta charset="UTF-8">
</head>
根据@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">
,所以请使用缩写形式。