1. 程式人生 > >使用myeclipse插入資料到mysql 出現中文亂碼|utf8亂碼解決方案[適合tomcat部署的jsp應用]

使用myeclipse插入資料到mysql 出現中文亂碼|utf8亂碼解決方案[適合tomcat部署的jsp應用]

  1. java類: CharacterEncodingFilter
    import javax.servlet.*;
    import java.io.IOException;

    public class CharacterEncodingFilter implements Filter {

    private String encoding = “UTF-8”;
    private boolean forceEncoding = true;

    /**

    • Set the encoding to use for requests. This encoding will be
    • passed into a ServletRequest.setCharacterEncoding call.
    • Whether this encoding will override existing request

    • encodings depends on the “forceEncoding” flag.
      */
      public void setEncoding(String encoding) {
      this.encoding = encoding;
      }

    /**

    • Set whether the encoding of this filter should override existing
    • request encodings. Default is “false”, i.e. do not modify encoding
    • if ServletRequest.getCharacterEncoding returns a non-null value.
      */
      public void setForceEncoding(boolean forceEncoding) {
      this.forceEncoding = forceEncoding;
      }

    public void init(FilterConfig filterConfig) throws ServletException {
    this.encoding = filterConfig.getInitParameter(“encoding”);
    String force = filterConfig.getInitParameter(“forceEncoding”);
    this.forceEncoding = (force == null) || Boolean.valueOf(force).booleanValue() ;
    }

    public void doFilter(ServletRequest servletRequest,
    ServletResponse servletResponse,
    FilterChain filterChain) throws IOException, ServletException {
    if (this.forceEncoding || servletRequest.getCharacterEncoding() == null) {
    servletRequest.setCharacterEncoding(this.encoding);
    }
    filterChain.doFilter(servletRequest, servletResponse);
    }

    public void destroy() {

    }

}

  1. 在web.xml配置檔案里加Filters Configurations


    CHARACTER_ENCODING

    common.encoding.CharacterEncodingFilter

    encoding
    UTF-8


    forceEncoding
    true



    CHARACTER_ENCODING
    /*

3.資料庫建立為UTF-8格式
4.專案右鍵屬性為UTF-8格式
5.所有頁面申明為UTF-8
6.JDBC URL設為:UTF-8
jdbc:mysql://localhost:3306/databaseuse?useUnicode=true&characterEncoding=utf-8
7.資料庫Driver選擇UTF-8格式
8.Tomcat編碼改成UTF-8

在server.xml裡面增加URIEncoding=”UTF-8”