1、html的charset标签:
charset 属性是 HTML5 中的新属性,且替换了:<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
仍然允许使用 http-equiv 属性来规定字符集,但是使用新方法可以减少代码量。
HTML5使用“<meta charset="UTF-8">”来表示页面使用UTF-8编码
HTML中使用“<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">”来表示页面使用UTF-8编码
2、Ajax请求:URL、POST请求表单参数、URL中GET请求参数的编码
经自己测试发现:
在IE11、Firefox(48.0.2)、chrome(45.0.2454.101 m)测试,上面的编码取决于网页的编码类型(也就是charset标签中所设置的编码,如果没有设置charset编码,那么默认为系统的编码类型)
自己查阅了资料测试结果和网上资料有些不一样,有可能是浏览器的版本导致的。
资料上说:ajax请求中URL编码与浏览器类型有关(网上文章);post请求参数由于是在http请求中的body部分,所以其参数编码取决于网页的编码(书中)。两者说法产生了冲突,可能与作者所处的时间点不一致,导致浏览器的版本不一致,所以会有冲突。
网上有文章建议:使用javaScript内置的函数对URL重新编码
参考资料:
《深入分析JavaWeb技术内幕》
关于URL编码(针对URL含有中文的参数---http://www.cnblogs.com/kenshinobiy/p/4377365.html