ajax $.post传值中文乱码!

2024-12-04 13:14:01
推荐回答(3个)
回答1:

方法一
在后台中使用request.setCharacterEncoding("UTF-8");
方法二
$.ajax({
type:'post',

......
contentType:'application/x-www-form-urlencoded; charset=UTF-8'
});
方法三(此方法绝对可行)
前台js将参数值转为统一资源标示符(URI)例如name = encodeURI(encodeURI(‘张三'));注意要
encodeURI两次。
后台需要对URI进行解析
String name= request.getParameter(“name”);
name= URLDecoder.decode(name, “UTF-8″);

回答2:

试试
new String(request.getParameter("name").getBytes("iso-8859-1"),"UTF-8")

回答3:

两步完成
1,前台js将参数值转为统一资源标示符(URI)例如name = encodeURI(encodeURI(‘张三'));或者name = encodeURI(‘张三');
2,后台java
String name=requestMap.get("name");
name=URLDecoder.decode(name,"UTF-8");