日期:2014-05-20  浏览次数:20731 次

用jquery ajax方法传输中文,处理乱码的问题
项目整体用的是gbk编码,用jquery ajax交互时传输中文参数出现乱码,自己在网上找了些相关的资料,将项目编码转换成utf-8格式的编码就没有问题,我测试了下,确实如此,但是有些项目已经用了gbk编码,不可能再换编码,而且我已经把tomcat的编码换成了gbk(加上了这句URIEncoding=gbk),而且也试了些其它方法,仍然是乱码,求指点,在线等待,先谢谢了啊!!!

------解决方案--------------------
这个页面单独设置utf-8不可以吗
------解决方案--------------------
不可以在容易出现乱码的地方用new String(request.getParameter("callUrl").getBytes("ISO-8859-1"),"UTF-8") 这种方式进行转码
------解决方案--------------------
你是指从前台往后台传吧?
------解决方案--------------------
new String(request.getParameter("callUrl").getBytes("ISO-8859-1"),"UTF-8") 这种方式进行转码 
 
这个可以解决吧。
------解决方案--------------------
本人建议 做个过滤器~~过滤字符编码
------解决方案--------------------
最好全都统一UTF-8,不易出编码问题。
另外GBK的编码格式效率不如UTF-8,解析页面时英文基本会多于中文的。
------解决方案--------------------
TRY:
1.<script src='' charset='xxxxx'></script>
OR
2.json data : unicode eg . '\u0101\u2222'
------解决方案--------------------
探讨

本人建议 做个过滤器~~过滤字符编码

------解决方案--------------------
写了过滤器
------解决方案--------------------
在页面传值的时候将encodeURIComponent(中文)
在后台String str = URLDecoder.decode(传过来的值 ,"UTF-8")
即可解决!!

------解决方案--------------------
傳之前先UTF-8編碼,接受后IE還要ISO88591解碼再UTF8再GBK
------解决方案--------------------
response.setContentType("text/html;charset=utf-8");
------解决方案--------------------
加上response.setCharacterEncoding("GBK");不行吗
------解决方案--------------------
服务器端
Java code

keywords = java.net.URLDecoder.decode(keywords.trim(), "UTF-8");