今天在做项目时遇到这样一个问题:在谷歌浏览器进行ajax操作时不会出现问题,但是客户反映在他们的浏览器上操作会出现乱码问题,经过查看发现他们用的都是IE浏览器,而且内核都是IE8,查看代码发现原来这段ajax提交,参数是url拼接的参数,get的提交方式,经过一番测试终于把这个问题解决了;
问题:IE8中get提交出现中文乱码问题;
我相信做java开发的都遇到过中文乱码问题,不管是post提交还是get提交,在解析中文时都会出现中文乱码问题,既然说到这里首先我给大家说一下我遇到post提交时出现中文乱码时解决的方法:
1:比较直接的就是在request解析时设置编码格式:request.setCharacterEncoding("utf-8");
2;修改Tomcat下面的server.xml:
开始时我这几种方法都试过了,谷歌和火狐都是可以,但是IE8就是不可以,总是会出现中文乱码,后来通过度娘的查找查到了JS里面有这样一个函数encodeURI(),可以解决这个问题,废话不多说直接上代码:
function mota(){
var neirong = $("#asz").val();//input框里面的值
$.ajax({
type: 'post',
url : '${ctx}/sossmail/findjilubyxmid?neirong='+encodeURI(neirong)+"&zhuangtai=f",
重点:encodeURI(neirong),把这个字符串进行url编码
这样IE8 get提交出现中文乱码的问题就解决了