JAVA中应用AJAX的中文乱码问题的解决

原创 2007年09月27日 12:50:00

 关于AJAX采用POST方法提交到Java后台出现乱码的问题,网上有很多都是在服务器端设置request.setcharacterencoding("utf-8")这种方法解决或者是把所有前台后台编码都改成UTF-8,但是在自己的项目上使用此方法不能实现(后来分析有可能是使用编码过滤器的原因)。经过几天摸索终于搞定:
1、ajax提交时采用escape或encodeURI方法。必须使用2次
2、后台java用java.net.URLDecoder类的decode方法。

前台页面局部代码:
/**
 * marging是一个js对像用于承载页面部分功能和参数
 * xmlHttp是改写后的AJAX对像,属性paramString为post方式发送到服务端的参数
 * 前台,后台页面都采用的GBK编码,使用了编码过滤器
 */
xmlHttp.paramString="mName="+marging.mNames;
//参数经过2次encodeURI编码
xmlHttp.paramString=encodeURI(xmlHttp.paramString);
xmlHttp.paramString=encodeURI(xmlHttp.paramString);
//发送保存请求
var xmlReq=xmlHttp.getTextByPost("mailMerginged.jsp");

后台页面代码:
/**
 *  当调用request.getParameter()函数时,会自动进行一次URI的解码过程
 *  调用时内置的解码过程会导致乱码出现。而URI编码两次后,request.getParameter()函数
 *  得到的是原信息URI编码一次的内容。再用可控的解码函数java.net.URLDecoder.decode()
 *  就可解出原始的正确的信息。
 */
String mName=java.net.URLDecoder.decode(request.getParameter("mName"),"UTF-8");

 

jsp,ajax,json,servlet前后台传值中文乱码解决方法

JSON前后台传递值,研究了一段时间,下面给出重点代码,主要是解决乱码问题 一、后台向前台传递值 Servlet        /* 设置格式为text/json    */       ...
  • youshengyoushe
  • youshengyoushe
  • 2015年05月12日 21:14
  • 3121

ajax乱码解决汇总

ajax乱码解决总结第一,javascript沿用java的字符处理方式,内部是使用unicode来处理所有字符的,第二,utf-8是每个汉字(unicode字符)用3个字节来存储。第三,用utf-8...
  • zhanngle
  • zhanngle
  • 2008年01月24日 16:06
  • 61865

ajax post 提交中文java后台获取参数出现乱码解决方法

代码示例: js端;两次转码
  • u010079945
  • u010079945
  • 2014年08月27日 20:24
  • 1996

java+ajax提交后乱码与返回乱码解决

 login.jsp代码清单如下:...@ page language="java" contentType="text/html;charset=utf-8"%>DOCTYPE HTML PUBLI...
  • ctojxzsycztao
  • ctojxzsycztao
  • 2008年03月16日 14:56
  • 4570

ajax请求中文乱码

ajax请求中文乱码使用ajax将页面中文数据传送到后台时,往往会出现乱码的情况,解决方法是,在传送前将中文进行编码,然后后台再进行解码:前台编码var requestData =window.enc...
  • UP19910522
  • UP19910522
  • 2017年05月02日 10:55
  • 510

最近遇到ajax获取数据出现中文乱码问题

前提:数据库,js页面,后台编码都采用UTF-8格式 问题:ajax请求数据,在后台传递到前台的数据出现中文乱码 解决方法:在ajax请求时添加//解决编码问题 contentType: "app...
  • u014656173
  • u014656173
  • 2017年03月28日 20:57
  • 6328

ajax前台接受到的中文乱码

前台中文乱码解决方法
  • Ditto_zhou
  • Ditto_zhou
  • 2017年05月18日 16:05
  • 2172

解决jquery ajax中文传递到后端出现乱码问题 java

这几天,好久没有写过了,今天一个ajax提交中文乱码的问题需要解决,在徘徊了一天,看到了一个人的高见,必杀技解决了这个问题,页面有个中文搜索需要传递到后台,发现,无论是jquery的post还是get...
  • lilovfly
  • lilovfly
  • 2017年04月20日 12:27
  • 1528

jquery ajax向spring mvc controller中传值并接受及解析返回值

jquery ajax向spring mvc controller中传值并接受及解析返回值
  • a355586533
  • a355586533
  • 2016年07月16日 23:31
  • 32805

ajax 同步调用 返回字符串 java例子(全)及 从后台返回中文乱码解决方法

一、js        jQuery.ajax({              type:"POST",              url:"",              async:fals...
  • Truong
  • Truong
  • 2013年01月07日 12:59
  • 5114
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JAVA中应用AJAX的中文乱码问题的解决
举报原因:
原因补充:

(最多只允许输入30个字)