如何解决POST、GET请求时中文乱码

来源:互联网 发布:css工具 ubuntu 编辑:程序博客网 时间:2024/05/22 16:00
1、post针对Post方式提交的请求如果出现乱码,可以每次在request解析数据时设置编码格式:request.setCharacterEncoding("utf-8");也可以使用编码过滤器来解决,最常用的方法是使用spring提供的编码过滤器:在Web.xml中增加如下配置(要注意的是它的位置一定要是第一个执行的过滤器):<filter><filter-name>charsetFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param><init-param><param-name>forceEncoding</param-name><param-value>true</param-value></init-param></filter>2、get针对Get方式的乱码问题,由于参数是通过URL传递的,所以上面通过request设置的编码格式是不起作用的,此时可以在每次发生请求之前对URL进行编码:例如:Location.href="/encodeURI"("http://localhost/test/s?name=中文&sex=女");当然也有更简便的方法,那就是在服务器端配置URL编码格式:修改tomcat的配置文件server.xml:             <Connector URIEncoding="UTF-8"                  port="8080"   maxHttpHeaderSize="8192"               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"               connectionTimeout="20000" disableUploadTimeout="true" />只需增加 URIEncoding="UTF-8"  这一句,然后重启tomcat即可。
原创粉丝点击