我应该像这样声明charset:
<meta http-equiv="content-type" content="text/html" charset="utf-8" />
或者像这样:
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
或两者都有效?
答案 0 :(得分:3)
这两个声明都有效,您可以始终使用短等效版本:
<meta charset="utf-8" />
希望这有帮助。
答案 1 :(得分:1)
因为您使用
启动文档<!DOCTYPE html>
我怀疑是否有必要指定内容类型。而只需指定encoding / charset:
<head>
<meta charset="UTF-8">
</head>
答案 2 :(得分:1)
根据@ Alohci的评论更新。
请参阅W3C's documentation on <meta http-equiv="...">
:
编码声明状态(
http-equiv="content-type"
)编码声明状态 只是设置
charset
属性 的另一种形式:它是一种字符编码声明。此状态的用户代理要求均由规范的解析部分处理。对于编码声明状态中具有
http-equiv
属性的元素,内容属性 必须 的值为ASCII不区分大小写的匹配项一个字符串,包括:文字字符串"text/html;"
, 可选地后跟任意数量的空格字符,后跟文字字符串"charset="
,后跟字符的一个标签编码字符编码声明。文档不得同时包含编码声明状态中具有
http-equiv
属性的元素元素和存在charset
属性的元素元素。 < / strong>(强调我的)
因此,如果您要使用http-equiv
,则必须将其用作<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
。但是,这只是说<meta charset="utf-8">
的另一种方式,所以请使用缩写形式。