Chinaunix首页 | 论坛 | 博客
  • 博客访问: 10044
  • 博文数量: 8
  • 博客积分: 280
  • 博客等级: 二等列兵
  • 技术积分: 85
  • 用 户 组: 普通用户
  • 注册时间: 2007-07-15 14:00
文章分类
文章存档

2011年(1)

2007年(7)

我的朋友
最近访客

分类: Mysql/postgreSQL

2007-10-16 21:57:24

   最近写一些注册页面的代码(J2EE开发),在MySQL中老是乱码,请教了一下哥们,找到了一个可行的方法,在你的项目中加入一个filter包,新建一个如下的类:
package 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 CharsetEncodingFilter implements Filter {

    protected String encoding = null;

  
    protected FilterConfig filterConfig = null;

    protected boolean ignore = true;

    public void destroy() {
        this.encoding = null;
        this.filterConfig = null;
    }

    public void doFilter(ServletRequest request, ServletResponse response,
                         FilterChain chain)
 throws IOException, ServletException {
        // Conditionally select and set the character encoding to be used
        if (ignore || (request.getCharacterEncoding() == null)) {
            String encoding = selectEncoding(request);
            if (encoding != null)
               request.setCharacterEncoding(encoding);
          
            //request.setCharacterEncoding("UTF-8");
    }
        //response.setCharacterEncoding("utf8");
 // Pass control on to the next filter
        chain.doFilter(request, response);
    }

    public void init(FilterConfig filterConfig) throws ServletException {
 this.filterConfig = filterConfig;
        this.encoding = filterConfig.getInitParameter("encoding");
        String value = filterConfig.getInitParameter("ignore");
        if (value == null)
            this.ignore = true;
        else if (value.equalsIgnoreCase("true"))
            this.ignore = true;
        else if (value.equalsIgnoreCase("yes"))
            this.ignore = true;
        else
            this.ignore = false;
    }

    protected String selectEncoding(ServletRequest request) {
        return (this.encoding);
    }

}
再次进行注册时,乱码就可消失!!!
阅读(426) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~