解决url传中文参数乱码

解决url传中文参数乱码

首先在前台js内将相应的中文参数(qsInfo)编码两次,相应代码如下。可用encodeURIComponent直接对中文参数进行编码,直接使用encodeURIComponent对url进行编码会使 / 字符转为16进制字符,这时你会发现页面没有定向到url的地址…

1
2
3
4
var url=encodeURI(encodeURI('${ctx}/backstage/getPraxisQuestionList?qsInfo='+qsInfo));
or...
var url='${ctx}/backstage?qsInfo='+encodeURIComponent(encodeURIComponent(qsInfo));
//var url=encodeURIComponent(encodeURIComponent('${ctx}/backstage?qsInfo='+qsInfo));//url不跳转,/被编码了...


接着在java后台对相应字符进行解码就ok啦,代码如下

1
String qsInfo = URLDecoder.decode(question.getQsInfo(),"UTF-8");//字符解码,此处我的参数是直接封装在bean里的。

具体流程就是:前台编码2次,后台解码1次…