JSP解决ajax使用$.get()方式提交中文出现乱码问题

问题点:
提交页面和处理页面都是 pageEncoding="UTF-8",我用下面2种方法处理中文乱码:
1、request.setCharacterEncoding("UTF-8");  
 2、
String  userName = new String (request.getParameter(" userName ").getBytes("ISO-8859-1"),"UTF-8");  
 
通过以上两种转码方式,都拿不到中文  。
问题解析: 
get方法传文字字符串(中文)就会有乱码,因为是通过url传参的, 所以你要在js客户端经过2次转码,同样服务器端也要转码。 
$.get("AjaxService?userName=" + encodeURI(encodeURI(userName)), null, function (data) { 
$("#result").html(data); 
}); 

也可以使用 encodeURIComponent(userName) ,效果是一样的。
服务器端转码(处理页面):
String userName = URLDecoder.decode(request.getParameter("userName"), "UTF-8"); 
 

你可能感兴趣的:(JSP)