在Tomcat环境下,对URL解析时使用的一般是ISO-8859-1编码,所以会出现乱码问题,对于这个可以有一下解决方案
①. 修改Tomcat的解析方式:
打开在Tomcat的conf目录下的server.xml,加上URIEncoding=“UTF-8”
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="utf-8"/>
①.做一次EncodeURI
// 客户端
encodeURI(url)
//服务端
new String(name.getBytes("iso8859-1"),"utf-8");
③.做两次EncodeURI (推荐使用)
做两次EncodeURI可以让程序更好的适应,而不是通过指定从iso8859转化成UTF-8(无论浏览器或服务器给参数如何编码,已经转换过的url是不会变化的)
// 客户端
encodeURI(encodeURI(url))
// 服务器
URLDecoder.decode(name,"UTF-8")