老船长

任何的限制,都是从自己的内心开始的。

导航

网页编码小结

1.外部js文件按照script的charset属性,加载时转码为当前网页相同编码。
 
2.script没有charset属性时,按照当前网页编码去加载外部js。
 
3.如果网页文件保存为有BOM时,IE11和chrome都会在打开时按照BOM中编码。(meta中charset无效)
 
4.如果网页文件保存为无BOM的utf8时:
        如果meta中有charset,IE11和chrome都会按照这个charset编码。
        如果meta中没有charset,chrome能正确推断,以utf8编码。IE11不能正确推断(以GBK编码了)
 
5.如果网页文件保存为GBK时:
        如果meta中有charset,IE11和chrome都会按照这个charset编码。
        如果meta中没有charset,chrome和E11都能正确推断,以GBK编码。(也就是说,IE11在既没有BOM有没有charset时按照系统默认编码?)
 
6.在网页文件有BOM时,chrome无法手动改变网页的编码方式,而IE11可以。
 
7.以上只涉及了文件BOM和charset的优先级关系,其实还有http的header中content encoding,它的优先级介于两者中间。
 
8.escape不管当前网页编码是什么,都将最终字符串(渲染到页面上的,可能已经是乱码)转成大端的UTF16.
而encodeURI和encodeURIComponent,则无论如何转码而UTF8.

其他区别,就是一些特殊字符转不转的区别,网上容易搜索到。

posted on 2015-12-03 09:40  shenzhigang  阅读(415)  评论(0编辑  收藏  举报