六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 28|回复: 0

Ajax中文乱码问题解决方案

[复制链接]

升级  92.67%

51

主题

51

主题

51

主题

秀才

Rank: 2

积分
189
 楼主| 发表于 2013-1-23 02:38:29 | 显示全部楼层 |阅读模式
js:
encodeURIComponent(name);
 
java:
String s = new String(request.getParameter("name").getBytes("ISO8859-1"), "UTF-8");
 
//encodeURIComponent使用了UTF8格式对字符进行编码
 
js:
encodeURIComponent(encodeURIComponent(name));
 
java:
java.net.URLDecoder.decode(....);
 
//两次调用encodeURIComponent方法会将utf-8格式编码变成xx%的格式。
 
 
PS:发现一个bug,在linux下
String s = new String(request.getParameter("name").getBytes("ISO8859-1"), "UTF-8");
解出来的是乱码,以下方法在win和linux中兼容解决此问题:
 
var data = {name:encodeURI($("#myName").val(),"utf-8")},pwd:"password"};   String name=URLDecoder.decode(request.getParameter("name"),"utf-8");
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表