加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

HTML5 Charset能用吗?

发布时间:2018-04-14 18:03:13 所属栏目:编程 来源:前端观察
导读:前一段某项目中页面在IE6溘然呈现了乱码,其时做了各类排查,最终展望是行使了HTML5的DOCTYPE和Charset以及中文注释的题目,于是姑且回收旧的Charset要领来修复了下,后头乱码再没呈现。 着实一向不太确定HTML5的Charset可否被IE6辨认,于是做了一些测试。

前一段某项目中页面在IE6溘然呈现了乱码,其时做了各类排查,最终展望是行使了HTML5的DOCTYPE和Charset以及中文注释的题目,于是姑且回收旧的Charset要领来修复了下,后头乱码再没呈现。

着实一向不太确定HTML5的Charset可否被IE6辨认,于是做了一些测试。

先说下两种Charset声明要领,着实各人应该都很认识的:

<meta charset=“UTF-8”><!--HTML5要领-->

<meta http-equiv=“content-type” content=“text/html; charset=UTF-8”><!--HTML4及XHTML要领-->

后头我们简称第一种要领为HTML5要领,第二种要领为HTML4要领。

测试情形:

Windows XP Sp2,中文版+英文版两个版本的IE6,及Windows 7 下IE9及其各类兼容模式和Chrome、Firefox等的当前Stable版本;

由于我们用到的HTML文件都是UTF8编码的,以是这里测试用例的HTML文件也都是UTF8(无BOM)名目,项目用gbk可能gb2312编码的相同。

测试用了两种要领:

meta要领:包罗HTML5和HTML4两种要领及其混搭

处事器端要领:处事器端配置charset,这里行使nginx,charset=utf-8

测试用例——Meta要领:

UTF8

UTF8 HTML4要领

UTF8-GB2312

UTF8+中文注释在meta前

UTF8+中文注释在HTML和HEAD之间

GB2312

GB2312 HTML4要领

GB2312-UTF8

GB2312+中文注释在meta前

GB2312+中文注释在HTML和HEAD之间

测试用例——处事器要领:

处事器配置编码

meta编码和处事器编码纷歧致

上面各用例均可直接会见

测试功效:

测试个用例在各赏识器中示意同等;

UTF-8的方案中,所有正常表现;

charset声明为gb2312,因为和文档的UTF-8编码不符,以是所有乱码;

1,6用HTML5 charset别离界说了UTF8和gb2312,1正常表现没有乱码,6乱码——在中文版IE6和英文版IE6均云云,声名IE6能辨认HTML5的charset;

1,2用例和6,7用例,别离用单独用HTML5和HTML4要领界说charset,结果一样;

值得留意的是,第三个用例先用HTML5的要领设定UTF-8编码,再用HTML4的编码设定为gb2312,但页面表现正常,而第八个用例反之,功效页面表现乱码,以是可以展望,第二个meta标签并没有见效;

4、5用例并没有乱码,声名纯真的HTML注释并不必然会导致乱码,这里没有测试这两个位置加载差异编码的js等外部文件时也许产生的环境;

处事器要领中,用例1并没有效meta配置charset,页面表现正常,而用例2顶用meta配置charset=gb2312,与处事器版本差异,但依然没有乱码,声名处事器端返回的charset优先级更高;

结论:

着实关于charset的类型,Google的开拓文档中也有表明:

要在HEAD标签中;

在任何其余内容之前,也就是要在HEAD中的最前面;

包罗空格和DOCTYPE声明在内,要在前512个字节之内;

HTML5和HTML4两种写法结果一样,用个中之一即可;

上面的测试也证明,第4条是正确的,两种写法均可。

其它,处事器端配置charset也是很不错的做法,charset声明直接在HTTP response中得到,服从更高,并且更利便。Google今朝在用这种要领。

以是只要页面写的类型,并不会呈现乱码的题目。以是可以斗胆的行使HTML5的DOCTYPE和Charset声明。可是请只管凭证上面说的Google文档中的类型来,头部不要放太多对象,js等外部资源更要放到后头去。

测试中不免会有漏掉,假若有不正确的处所,接待指正并一路接头~~

文章来历:前端调查

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读