对于get请求解决中文乱码有两种途径一种是修改tomcat默认的编码方式为"UTF-8"
在tomcat的server.xml里把
<Connector connectionTimeout="50000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
修改为
<Connector connectionTimeout="50000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>
使用这种方式带来的问题是在你本机上这么做没有问题,你无论怎么去修改你tomcat上的配置都没问题,
但是测试环境和生产环境的服务器不是轻易说改就能改的,特别是有些公司的服务器是租赁的,那么在我们
不知道测试环境和生产环境服务器配置的时候就要使用以下的方法来解决get请求的中文乱码问题。
来自页面的一个get请求:
window.location.href = getContextPath()+"/manage/user/detail?name="+encodeURI(encodeURI("小明"));
在js 里通过encodeURI(encodeURI("小明"))将所携带中文参数编译
服务器端:
String name = request.getParameter("name");
orgname = URLDecoder.decode(name,"UTF-8");
在控制器里通过 URLDecoder.decode(name,"UTF-8")编译转换成中文