一、编码问题
1.POST请求时的乱码问题
1.1乱码产生的原因
*所有浏览器提供的AJAX对象对请求参数使用UTF-8进行编码
*服务器默认使用iso-8859-1去解码
*编码与解码不同就会产生乱码
1.2解决办法
*request.setCharacterEncoding(“UTF-8”);
*注:火狐就不用这句代码,是因为这个浏览器会再发送的请求数据包中告诉服务器,它是哪种方式进行的数据编码
2.GET请求时的乱码问题
1.1为什么会产生乱码
*IE浏览器提供的Ajax对象会使用GBK字符集对请求参数进行编码,而其他浏览器会使用UTF-8来编码
*服务器默认情况下会使用iso-8859-1进行解码
*编码与解码不一致即产生乱码
1.2解决GET请求时的乱码问题
*step1
-指定字符集进行解码
-比如:tomcat可修改conf/server.xml文件中<Connector URIEcoding=”utf-8”>,S使得tomcat按utf-8方式解码
*step2
-使用encodeURI对请求地址进行编码
-encodeURI会使用utf-8对请求地址中的中文参数进行编码
-其实问题的根本原因就是IE的与众不同,修改完成后,重启tomcat,不用IE来运行就会发现可以正常读取表单的get方式提交的中文
-针对IE浏览器GET请求乱码解决办法