腾出时间做了详细的测试,如果有疑问的请留言,简体中文系统下,ANSI 编码代表 GB2312 编码
第一次测试:
1, utf-8格式的页面内加上<meta http-equiv="content-type" content="text/html;charset=utf-8">或者不加,所有浏览器都显示正常
2, gbk格式的页面内加上<meta http-equiv="content-type" content="text/html;charset=utf-8">后所有浏览器都显示乱码,且乱码都一样
3, gbk格式的页面内加上<meta http-equiv="content-type" content="text/html;charset=gbk">后所有浏览器都显示正常
4, gbk格式下的页面无meta下,除safari下显示乱码,其他浏览器下都显示正常
5, 浏览器会根据meta自动设置编码格式,如果没有meta,会根据页面本事的格式设置编码格式,当meta和页面本事的格式不同时会出现乱码,utf-8格式的页面,不会出现乱码
第二次测试
1, 在无meta下utf-8页面浏览器自动生成utf-8,无乱码,但是js为gbk不设置charset,和设置为utf-8时为js为乱码,设置charset为gbk时正常
6, 在无meta下gbk页面浏览器自动生成gbk,无乱码,但是js为gbk切设置charset时为utf-8乱码,其他情况都正常,js默认是utf-8格式加载
总结:页面本事格式和meta都要保持一致才会显示正常中文,推荐都使用utf-8格式的html和js,还有不同编辑器显示为正常中文,但是浏览器也有可能出现乱码,这是编辑器显示的问题,有些编辑器能把乱码纠正为正常中文,大家最好能在txt编辑器里测试