六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 18|回复: 0

js url传参 中文乱码

[复制链接]

升级  2.67%

60

主题

60

主题

60

主题

举人

Rank: 3Rank: 3

积分
208
 楼主| 发表于 2013-2-3 10:30:46 | 显示全部楼层 |阅读模式
在项目中经常回存在通过JS去请求操作的事件发生,而这些请求的url链接又通常会使用到中文。

 

而这些中文在JS中可以正常alert出来,但是提交给后台时就显示成乱码了。

 

这里提供一个解决方案,基本原理就是在JS中将中文转码成URI方式,如下:

 

        var queryTitle = document.getElementById('queryTitle').value;    
        queryTitle=encodeURI(queryTitle);
        queryTitle=encodeURI(queryTitle);       需要转2次

 这个不知道那个脑残设计的,靠

然后在后台获取的时候,解码URI:

 

        String newTitle = request.getParameter("newTitle");
        newTitle = java.net.URLDecoder.decode(newTitle, "utf-8");

 

这样就可以了

 

在客户端进行再次encodeURI操作,在服务器解码即可。 
        queryTitle=encodeURI(encodeURI(queryTitle)); 
        queryTitle=encodeURI(encodeURI(queryTitle));  
在jquery的ajax提交时会经常使用这种方式提交中文。
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

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