Get,Post请求中文乱码问题有效解决方法
来源:互联网 发布:python sleep 毫秒 编辑:程序博客网 时间:2024/05/16 04:20
本文主要介绍如何有效解决web请求中的乱码问题,其实解决方法有很多种,不同的请求类型解决方法也不相同。
本文只介绍最方便的一种:
1、针对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>
该过滤器要做的其实就是强制为所有请求和响应设置编码格式:
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
2、针对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即可。
- Get,Post请求中文乱码问题有效解决方法
- Get,Post请求中文乱码问题有效解决方法
- 关于Get,Post请求中文乱码问题有效解决方法
- Get,Post请求中文乱码问题有效解决方法
- Get,Post请求中文乱码问题有效解决方法
- Get,Post请求中文乱码问题有效解决方法
- Get,Post请求中文乱码问题有效解决方法
- Get请求中文乱码问题有效解决方法
- get/post请求:中文乱码问题
- get/post请求中文乱码问题
- post与get请求中文乱码问题
- SpringMVC-Post/Get请求中文乱码问题
- get,post请求中文乱码问题
- JSP中解决中文乱码问题 对于post有效 对于get请求方式无效。
- 解决Get和Post请求中中文乱码问题
- 解决Get和post请求中中文乱码问题
- 解决Sping Mvc中post、get请求中文乱码问题
- 解决Get和Post请求中文乱码的问题
- JZOJ 5441 序列
- 在VS2015下,glog的简单使用
- LuoguP2827/UOJ264[NOIP2016D2T2]蚯蚓 解题报告【单调队列】
- 欢迎使用CSDN-markdown编辑器
- Hadoop集群搭建
- Get,Post请求中文乱码问题有效解决方法
- date命令
- 【廖雪峰Python习题集】循环
- C++\String常用操作
- TensorFlow学习日记28
- HttpServletRequest
- 作业
- Java的同步机制
- 整数运算、浮点运算与溢出