日期:2014-05-16  浏览次数:20685 次

ajax 传特殊值中文乱码的解决

比如var result="张凯<CN=张凯/OU=公司领导/OU=公司本部/O=Geph>";

因该参数包括着<,中文等字符,所以在ajax传输该参数时需要?encodeURI(result)来加密。
比如加密之后的该地址为:http://localhost:8000/dm/comp/comeGo-list?result=CN=%E5%BC%A0%E5%87%AF/OU=%E5%85%AC%E5%8F%B8%E9%A2%86%E5%AF%BC/OU=%E5%85%AC%E5%8F%B8%E6%9C%AC%E9%83%A8/O=Geph

后台解析统一用java.net.URLDecoder.decode(result , "UTF-8");来解密。

这个可以解决传递中文参数乱码问题。

1 楼 hellostory 2011-10-19  
如果服务器是使用tomcat,则可直接修改tomcat的配置文件server.xml,添加“URIEncoding="UTF-8"”,一劳永逸!
    <Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" 
			   URIEncoding="UTF-8"/>
2 楼 fuanyu 2011-10-20  
谢谢你,你这个方法更厉害;