问题
环境为Idea+Tomcat
表单使用Get方式进行提交,转跳的页面取值中文乱码
第一个页面代码
功能:当前页面获取参数,通过URL参数传输给下一个页面,下一个页面使用参数取值
第二个页面代码
注意这里的post指的是这个页面单击提交时候的传输模式,并不是第一个页面以post传输到当前页面!!
结果就是取到的值是乱码
乱码原因
以get方式进行传输的时候 服务器会进行重新编码,编码成ISO-8859-1的编码,所以导致乱码
(地址栏可以看到明文参数的,就叫get方式传输)
解决方案
设置Tomcat服务器编码
- 找到Tomcat服务器配置文件 tomcat安装路径\conf\server.xml
- 找到如下配置文件(8888是个人自定义接口)
<Connector port="8888" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"/>
- 在后面添加上个人使用的编码格式(以UTF-8 为例)
<Connector port="8888" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="utf-8" />
还有一种方法就是取值的时候重新编码,比较麻烦,建议直接改server.xml配置文件。