项目中通过post请求提交过来的数据要在页面显示的话不进行编码处理,则会出现中文乱码情况;
常见处理方式是对request请求进行编码处理:
1、对request设置统一编码(utf-8)//备注对于post请求通常只需要这么做就行了,因为post的数据是在请求体里的,
而request设置统一编码是会影响到数据编码格式的,所以起作用。2、配置Servlet容器默认处理uri的编码格式(推荐)
request.setCharacterEncoding("utf-8");
2、String string=new String(info.getBytes("iso-8859-1"), "utf-8");
但是一个项目中会有很多请求,和很多页面,所以推荐使用过滤器filter来进行编码处理:
<filter>
<filter-name>CharacterEncodingFilter</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>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
//过滤器映射路径,这里设置包含根目录下所有页面
<url-pattern>/*</url-pattern></filter-mapping>