题主遇到的问题:在网页的表单内输入人名后,点击提交按钮,人名(中文)乱码,网上的解决方法都让我在第一行添上request.setCharacterEncoding("UTF-8"); 此时我的提交方式是post,但是还是乱码,未解决我的问题,故找到一下解决方法
我们可以通过Tomcat配置文件,设置URL编码集(URIEncoding)设置编码
修改Tomcat/conf 目录下 server.xml
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8444"
useBodyEncodingForURI="true" URIEncoding="UTF-8"/>
useBodyEncodingForURI参数表示是否用request.setCharacterEncoding参数对URL提交的数据和表单中GET方式提交的数据进行重新编码,在默认情况下,该参数为false。
URIEncoding参数指定对所有GET方式请求进行统一的重新编码(解码)的编码。
两者的区别如下:
URIEncoding是对所有GET方式的请求的数据进行统一的重新编码,
而useBodyEncodingForURI则是根据响应该请求的页面的request.setCharacterEncoding参数对数据进行的重新编码,不同的页面可以有不同的重新编码的编码。
故注意提交方式要改为get,对post无效