这个问题一直困扰了我们很久,今天找到了个解决方案,暂时先用着,以后再改善。方法如下:
html:
url:'..../***.do?parms1='+ encodeURI((encodeURI(param)));
为什么转两次?如果只有一个套那么转到action的结果类此这种编码:/ä¸ææµè¯3æ件夹
java中解码:
传过来的参数如下形式:%C8%F8%C2%E5%B7%F2%BD%AB%BF%A8%CB%C0%C1%CB%B5%
然后通过decode()解码:
java.net.URLDecoder.decode(parms1,"UTF-8");
==============================================================
今天韩哥讲了另一个解决方案,比较好,不用encodeURI,不用解码:
直接将参数写在data参数中:
例如:
$.ajax({
url: '${base}/pms/frame/resource/deleteFile.do',
type: 'post',
dataType: 'json',
data: {index:index, resourceId:$('#resourceId'+index).val(), resourceName:$('#resourceName'+index).val()}
});
用这种方式就不会出现传中文参数乱码的情况了。