<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    all gone

    all gone

    JSP 處理MySQL數據庫時的中文問題

    以前遇到JSP 處理MySQL數據庫時的中文問題時,采取的是很笨的一種方法,直接用字符串編碼轉換函數進行轉換,這次從網上搜了一下,找到了一個使用Filter的可行方法。在Tomcat 5.5+ MySQL4.0.16下通過。

    filter類源碼是從網上找的,如下
    /**
     *
     */
    package com.lzy;

    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;

    /**
     * @author lzy
     *
     */
    public class SetCharacterEncodingFilter implements Filter {
     
     protected String encoding = null;
        protected FilterConfig filterConfig = null;
        protected boolean ignore = true;


     /* (non-Javadoc)
      * @see javax.servlet.Filter#init(javax.servlet.FilterConfig)
      */
     public void init(FilterConfig filterConfig) throws ServletException {
      // TODO Auto-generated method stub
      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;


     }

     /* (non-Javadoc)
      * @see javax.servlet.Filter#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)
      */
     public void doFilter(ServletRequest request, ServletResponse response,
       FilterChain chain) throws IOException, ServletException {
      
      // TODO Auto-generated method stub
      if (ignore || (request.getCharacterEncoding() == null)) {
       String encoding = selectEncoding(request);
       if (encoding != null)
        request.setCharacterEncoding(encoding);
      }
      chain.doFilter(request, response);
     }

     /* (non-Javadoc)
      * @see javax.servlet.Filter#destroy()
      */
     public void destroy() {
      // TODO Auto-generated method stub
      
      this.encoding = null;
         this.filterConfig = null;


     }
     
      protected String selectEncoding(ServletRequest request) {

             return (this.encoding);

         }


    }

    在web.xml 文件中作如下設置:(我使用的是Struts框架)
    <filter>
    <filter-name>Encoding</filter-name>
    <filter-class>com.lzy.SetCharacterEncodingFilter</filter-class>
    <init-param>
    <param-name>encoding</param-name>
    <param-value>GBK</param-value>
    </init-param>
    </filter>

    <filter-mapping>
    <filter-name>Encoding</filter-name>
    <servlet-name>action</servlet-name>
    </filter-mapping>
    <filter-mapping>
    <filter-name>Encoding</filter-name>
    <url-pattern>*.jsp</url-pattern>
    </filter-mapping>


    最后,連接數據庫時,使用下面的url:
    jdbc:mysql://localhost:3306/數據庫名?useUnicode=true&characterEncoding=GBK

    posted on 2005-12-18 22:57 all gone 閱讀(480) 評論(0)  編輯  收藏 所屬分類: Java

    主站蜘蛛池模板: 亚洲国产精品无码久久SM| 亚洲电影日韩精品| 亚洲黄色在线视频| 5g影院5g天天爽永久免费影院| 亚洲国产人成在线观看69网站| 久久久久成人精品免费播放动漫| 国产A在亚洲线播放| 日韩精品无码专区免费播放| 亚洲性一级理论片在线观看| 亚洲国产精品久久人人爱| 免费成人福利视频| 亚洲人成网国产最新在线| 成人av免费电影| 精品亚洲视频在线| 2048亚洲精品国产| 免费av片在线观看网站| xvideos亚洲永久网址| 亚洲伊人久久大香线蕉影院| 99久久综合国产精品免费| 亚洲精品久久久久无码AV片软件| 亚洲AV成人精品日韩一区18p| a毛片在线还看免费网站| 亚洲第一永久在线观看| 欧洲精品免费一区二区三区| 永久免费观看黄网站| 久久99亚洲网美利坚合众国 | 最近免费字幕中文大全视频| 亚洲欧洲日产国码高潮αv| 国产精品福利在线观看免费不卡| 亚洲αv久久久噜噜噜噜噜| 亚洲精品视频在线观看免费| 毛片亚洲AV无码精品国产午夜| 亚洲精品午夜无码专区| 日日摸夜夜添夜夜免费视频| 激情内射亚洲一区二区三区| 日本久久久免费高清| 免费成人在线视频观看| 亚洲av永久无码天堂网| 亚洲an天堂an在线观看| 日本不卡视频免费| 99热这里只有精品免费播放|