首页 > 代码库 > get和post乱码问题解决

get和post乱码问题解决

处理 get请求的乱码方式
01. 治标
需要对个中文的字符 进行转码操作! 太麻烦
02. 治本
在服务中conf文件夹中找到server.xml文件中connector节点!
新增URIEncoding="utf-8"

针对于post请求乱码方式的解决方案
01. 治标
request.setCharacterEncoding("utf-8"); 设置请求的编码格式
response.setCharacterEncoding("utf-8"); 设置响应的编码格式
每个jsp页面都必须加上这些代码!! 有点麻烦
02. 治本

也可以使用编码过滤器来解决,最常用的方法是使用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");

get和post乱码问题解决