一个过滤各种中文乱码的过滤器EncodingFilter
@WebFilter("/*")
public class EncodingFilter implements Filter {
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
request.setCharacterEncoding("utf-8");
// 解决 get 请求中文乱码
// 通过 tomcat 的 conf 目录 server.xml 中 Connector 标签加入 URIEncoding="UTF-8"
// <Connector URIEncoding="utf-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
// 解决 响应 中文乱码
response.setCharacterEncoding("utf-8");
// 解决浏览器解析乱码
response.setContentType("text/html;charset=utf-8");
// 解决 MySQL 数据库在 JDBC 中传递数据乱码
// url = "jdbc:mysql://localhost:3306/数据库名?useUnicode=true&characterEncoding=utf8&useSSL=false"
chain.doFilter(request, response);
}
}