大家好:
我想请教的问题是:
为了处理乱码问题 我写了个过滤器,设置字符编码来处理htm(注意是htm)提交的form表单,但是就是不起作用;页面关于字符设置 就一句话 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 配置绝对正确(因为 我用Debug走了的)我想请问是怎么回事情啊?
过滤代码如下:
package global;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 EncodingFilter implements Filter {
protected FilterConfig filterConfig; public void init(FilterConfig config) throws ServletException {
this.filterConfig = config; } public void doFilter(final ServletRequest req, final ServletResponse res,
FilterChain chain) throws IOException, ServletException {
req.setCharacterEncoding("gb2312");
chain.doFilter(req, res);
}
public void destroy() {
this.filterConfig = null;
}}另外 顺便问下 tomcat下设置urlencoding为什么只针对get方法?
我想请教的问题是:
为了处理乱码问题 我写了个过滤器,设置字符编码来处理htm(注意是htm)提交的form表单,但是就是不起作用;页面关于字符设置 就一句话 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 配置绝对正确(因为 我用Debug走了的)我想请问是怎么回事情啊?
过滤代码如下:
package global;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 EncodingFilter implements Filter {
protected FilterConfig filterConfig; public void init(FilterConfig config) throws ServletException {
this.filterConfig = config; } public void doFilter(final ServletRequest req, final ServletResponse res,
FilterChain chain) throws IOException, ServletException {
req.setCharacterEncoding("gb2312");
chain.doFilter(req, res);
}
public void destroy() {
this.filterConfig = null;
}}另外 顺便问下 tomcat下设置urlencoding为什么只针对get方法?
试下看...
2 看看你html文件自己的编码是不是 GB2312的。
去掉你的filter,你的htm应该正常显示,否则肯定是你的htm自己的问题,和tomcat没关系