这里提供的方法适用于post方式,可以使用过滤器轻松解决字符乱码问题,前提数据库的字符集要设置正确,这里我的数据库玮UTF-8
1.建一个包,继承Filter类写一个自己的字符集过滤,代码如下:
package com.gt.filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class MyFilter implements Filter {
public void destroy() {
// TODO Auto-generated method stub
}
public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
arg0.setCharacterEncoding("UTF-8");
arg2.doFilter(arg0, arg1);//必须
}
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
}
2.在web.xml中配置过滤器,配置如下:
<!-- 配置过滤器 -->
<filter>
<filter-name>MyFilter1</filter-name>
<filter-class>com.gt.filter.MyFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>MyFilter1</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>