3 回答

TA贡献1796条经验 获得超7个赞
设置contentType这种做法是不行的.不管你怎么设置,最后传到服务器的都是utf-8...因为ajax在发送数据前会自动进行一次encodeURLComplent,这个方法是按utf-8格式编码的.jquery ajax乱码一般有以下几种方案,不知道能不能成功..1.配置struts2默认编码为utf-8 2.如果默认编码不能改为utf-8,可以写一个过滤器,如果请求为ajax请求,则request.setContentType("utf-8"); 3.更改jquery ajax底层代码,这个你可以网上搜一下. 4.这个方法比较普遍,二次转码.就是说中文数据可以在页面encodeURI两次,记住是两次,然后服务器端解码.

TA贡献1794条经验 获得超7个赞
设置一下编码就行了 如: $.ajax({url:'url',type:'POST',dataType:'json',contentType:'GBK'}) 设置contentType就行了 注意如果带中文 不能使用get请求要使用post请求

TA贡献1865条经验 获得超7个赞
后台的response需要设置
response.setContentType("text/html");
response.setCharacterEncoding("GB2312");
response.getWriter().print(strBuf.toString());
添加回答
举报