1,问题
前端发送请求到后台,url中带中文,后台接收到乱码。
2,原因
tomcat服务器默认用ISO来解码,但是浏览器传过来的是utf8编码,所以中文被解析成了乱码
3解决方案
(1)前端在编码一次,后端自行解码
前端:encodeURIComponent(k)
后端:request.getParameter("k")=%E4%B8%AD%E6%96%87
再URLDecoder.decode("%E4%B8%AD%E6%96%87", "UTF-8")就能解码回原来的中文
(2)修改tomcat配置
server.xml:<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
修改为:<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>