[Java教程]Get,Post请求中文乱码问题有效解决方法
0 2016-11-07 22:01:21
本文主要介绍如何有效解决web请求中的乱码问题,其实解决方法有很多种,不同的请求类型解决方法也不相同。
本文只介绍最方便的一种:
1、先修改jsp中的编码方式
2、针对Post方式提交的请求如果出现乱码,可以每次在request解析数据时设置编码格式:
3、设置URL中的编码
4、设置数据库属性
5、最后修改表设计中的设置
也可以使用编码过滤器来解决,最常用的方法是使用spring提供的编码过滤器:
在Web.
charsetFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
UTF-8
forceEncoding
true
该过滤器要做的其实就是强制为所有请求和响应设置编码格式:
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
2、针对Get方式的乱码问题,由于参数是通过URL传递的,所以上面通过request设置的编码格式是不起作用的,此时可以在每次发生请求之前对URL进行编码:例如:Location.href="http://www.cnblogs.com//encodeURI"("http://localhost/test/s?name=中文&sex=女");
当然也有更简便的方法,那就是在服务器端配置URL编码格式:
修改tomcat的配置文件server.
port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
connectionTimeout="20000" disableUploadTimeout="true" />
只需增加 URIEncoding="UTF-8" 这一句,然后重启tomcat即可。
本文网址:http://www.shaoqun.com/a/263210.html
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:admin@shaoqun.com。
post
0