在HTML中声明字符编码

时间:2016-07-08 21:17:29

标签: html character-encoding meta http-equiv

我应该像这样声明charset:

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

或者像这样:

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

或两者都有效?

3 个答案:

答案 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">的另一种方式,所以请使用缩写形式。