`
sinokaka
  • 浏览: 319847 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

乱码解决方案

阅读更多

1:JSP上添加<%@ page language="java" contentType="text/html;charset=GBK" %>

2:增加一个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;
import javax.servlet.UnavailableException;

/**
 * Example filter that sets the character encoding to be used in parsing the
 * incoming request
 */
public class SetCharacterEncodingFilter implements Filter {

    /**
     * Take this filter out of service.
     */
    public void destroy() {
    }
    /**
     * Select and set (if specified) the character encoding to be used to
     * interpret request parameters for this request.
     */
    public void doFilter(ServletRequest request, ServletResponse response,
    FilterChain chain)throws IOException, ServletException {

    request.setCharacterEncoding("GBK");

    // 传递控制到下一个过滤器
    chain.doFilter(request, response);
    }

    public void init(FilterConfig filterConfig) throws ServletException {
    }
}
配置web.xml
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>SetCharacterEncodingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

3:或者在每一处string的地方,调用这个方法

public String toGb(String str){
 
     if(str == null){
        return ""; 

     }
     try{
      return new String(str.getBytes("ISO8859_1");,"GB2312");
     }
  catch(Exception ex){

     return  str
    }
     return "";
 }

 

改自 Tomcat下中文的彻底解决 2004年11月19日  作者:ponky  Matrix-与Java共舞    

http://www.matrix.org.cn/article/1098.html

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics