<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

    主站蜘蛛池模板: 亚洲αv久久久噜噜噜噜噜| 国产精品久久香蕉免费播放| 久久久青草青青亚洲国产免观| 美女18一级毛片免费看| 韩国18福利视频免费观看| 亚洲女子高潮不断爆白浆| 好爽又高潮了毛片免费下载| 亚洲人成色4444在线观看| 国产成人免费a在线视频app| 黄页网站在线观看免费| 久久久久亚洲?V成人无码| 青柠影视在线观看免费| 久久亚洲私人国产精品vA | 亚洲人成网网址在线看| 97视频免费在线| 在线观看亚洲AV日韩A∨| 国产成人精品免费视频大全五级 | 国产va在线观看免费| 亚洲精品人成电影网| 成年人免费观看视频网站| 黄色a三级三级三级免费看| 亚洲无码在线播放| 热re99久久6国产精品免费| 亚洲高清中文字幕免费| 四虎精品亚洲一区二区三区| 久久免费精品视频| 亚洲依依成人精品| 亚洲日韩在线第一页 | 色噜噜AV亚洲色一区二区| 99视频精品全部免费观看| 亚洲精品午夜国产va久久| 亚洲AⅤ视频一区二区三区| a级男女仿爱免费视频| 亚洲第一精品电影网| 又粗又大又长又爽免费视频 | 免费观看激色视频网站(性色)| 亚洲av片在线观看| 亚洲AV日韩AV高潮无码专区| 午夜爱爱免费视频| 日韩精品在线免费观看| 亚洲爆乳大丰满无码专区|