html charset="utf-8" 和 lang="zh-cmn-hans"有什么区别

如题所述

charset表示这个html文档存储时使用的编码,UTF-8是编码格式。

lang表示的是内容使用的语言:zh表示“中文”,cmn表示"普通话",Hans表示"汉字,简体"。

    一般charset标签放在html文档的head标签下,根据HTML5标准可以使用这个格式:

<meta charset="UTF-8">

一般来说,网页实际使用的编码由HTTP协议头部指定的内容编码决定,但如果HTTP协议头部没有给出内容编码,浏览器则会使用html文档head标签下使用上述语句指定的编码来解释网页。

    一般lang作为属性,放在html标签上,比如:

<!DOCTYPE html>
<html lang="zh-cmn-Hans">
</html>

表示整个html文档使用的语言,但是如果网页中包含其他语言的内容(比如在某个标签中引用了一段英文内容,或是在网页中插入了一段其他语言的音频、视频),则应该在这些单独的标签上再单独使用lang注明内容使用的语言。


一般来说,html文档中指定lang,对于现代浏览器来说暂时没有什么显而易见的作用(部分浏览器会根据这个属性来提供翻译建议,但并不完全依赖这个属性,也会自行判断网页语言)。

而html文档中指定charset也只有当HTTP头部中未包含编码信息时才有效,如果HTTP头部中包含了编码信息,则优先使用HTTP头部指定的编码而忽略HTML文档中指定的编码(如果两者不同的话)。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-08-23
问题不应该是它们有什么区别,因为它们根本不是一回事。

charset 告诉浏览器 网页的编码是 UTF-8,lang 告诉浏览器 这是一张中文网页。本回答被提问者和网友采纳
第2个回答  2015-08-22
charset是网站编码格式, lang是浏览器语言环境.