Filter解决中文乱码问题

1,FIlter中编码设置

编码设置一定要在跳转页面之前

public void doFilter(ServletRequest request, ServletResponse response,
            FilterChain chain) throws IOException, ServletException {
        request.setCharacterEncoding("UTF-8");
        chain.doFilter(request, response);
    }

2,配置web.XML

在配置xml的时候一定要将它应用在整个工程中

   <filter>
       <filter-name>Demo3</filter-name>
      <filter-class>songyan.filter.work3.Demo3</filter-class>
  </filter> 
<filter-mapping>
  <filter-name>Demo3</filter-name>
  <url-pattern>/*</url-pattern>
  </filter-mapping>

3,如果做了这些操作还是没有解决乱码问题

可以查看下是不是tomcat的编码方式没有修改

操作步骤:

找到下面的内容可以看出apache的位置,找到它

在 D:apache-tomcat-7.0.70conf这个目录下找到server.xml文件

打开server.xml寻找下面代码

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URIEncoding="UTF-8"/>

检查是否包含URIEncoding="UTF-8" 这个设置,如果没有,就加上。

 

重启服务器,应该就没有问题了

原文地址:https://www.cnblogs.com/excellencesy/p/8657243.html