tomcat中的URL参数为中文,servlet接收后显示乱码


 URL中参数的值为中文时,servlet接收后显示为乱码,如下图:

 

 这时候需要修改tomcat的中的server.xml文件。该文件路径为 tomcat安装目录下的conf文件夹。
 
为修改前的server.xml文件。

 

修改后的server.xml文件。增加了一行: URIEncoding="UTF-8" 

 

 

 

 修改后重启tomcat服务器,然后测试正常。

 

 
利用request.setCharacterEncoding("UTF-8");来设置Tomcat接收请求的编码格式,

 

只对POST方式提交的数据有效,对GET方式提交的数据无效!

 

要设置GET的编码,可以修改server.xml文件中,相应的端口的Connector的属性:URIEncoding="UTF-8",这样,GET方式提交的数据才会被正确解码。

 

ps:2017年4月20日

最近看书,知道为什么 request.setCharacterEncoding("UTF-8")只能对post提交的数据有效。

    因为post提交的数据是封装在网页正文里面的。服务器接收后,可以处理成UTF-8 

    而get提交的时候,数据是在URL里面的。因为要去tomcat里面单独设置URIEncoding="UTF-8" 。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM