freefly
          一門技術(shù),如果不能講出來(lái),那么就是沒(méi)有理解,如果不能很好的講出來(lái),那么就是理解不夠透徹!
          posts - 9,comments - 3,trackbacks - 0

           Here is my solution for  mess code on page,hope this can help you!
           The point is your database coding should be consistent with the coding of  character that you plan to insert into the database.
           Attention: Here,I take "UTF-8" as default character coding way .
           There are three steps:
           1. set page charset 
               e.g      <%@ page language="java" contentType="text/html; charset=UTF-8" %>
              
           2. create character filter:
               package com.victory.util;

               import javax.servlet.http.HttpServlet;
               import javax.servlet.Filter;
               import javax.servlet.FilterConfig;
               import javax.servlet.ServletException;
               import javax.servlet.ServletRequest;
               import javax.servlet.ServletResponse;
               import javax.servlet.FilterChain;
               import javax.servlet.http.*;
               import java.io.IOException;
               public class CharacterEncodingFilter
                 extends HttpServlet
                 implements Filter {

                 private FilterConfig filterConfig;
                 private String targetEncoding = "ASCII";

               /**
                * Called by the web container to indicate to a filter that it is being placed
                * into service.
                *
                * @param filterConfig FilterConfig
                * @throws ServletException
                * @todo Implement this javax.servlet.Filter method
               */
                public void init(FilterConfig filterConfig) throws ServletException {
                this.filterConfig = filterConfig;
                this.targetEncoding = filterConfig.getInitParameter("encoding");
               }

              /**
               * The <code>doFilter</code> method of the Filter is called by the container
               * each time a request/response pair is passed through the chain due to a
               * client request for a resource at the end of the chain.
               *
               * @param request ServletRequest
               * @param response ServletResponse
               * @param chain FilterChain
               * @throws IOException
               * @throws ServletException
               * @todo Implement this javax.servlet.Filter method
               */
               public void doFilter(ServletRequest srequest, ServletResponse sresponse,
                                 FilterChain chain) throws IOException, ServletException {
                try {
                  HttpServletRequest request = (HttpServletRequest) srequest;
                  request.setCharacterEncoding(targetEncoding);
                  chain.doFilter(srequest, sresponse);
                    }
                catch (ServletException sx) {
                   filterConfig.getServletContext().log(sx.getMessage());
                    }
                catch (IOException iox) {
                   filterConfig.getServletContext().log(iox.getMessage());
                  }
                }

              /**
               * Called by the web container to indicate to a filter that it is being taken
               * out of service.
               *
               * @todo Implement this javax.servlet.Filter method
               */
               public void destroy() {
                 filterConfig = null;
                 targetEncoding = null;
               }
            }
            
            3.config web.xml
              attention: add these to your web.xml
               <filter>
               <filter-name>EncodingFilter</filter-name>
               <filter-class>com.victory.util.CharacterEncodingFilter</filter-class>
               <init-param>
                 <param-name>encoding</param-name>
                 <param-value>UTF-8</param-value>
               </init-param>
              </filter>
              <filter-mapping>
              <filter-name>EncodingFilter</filter-name>
               <url-pattern>/*</url-pattern>
              </filter-mapping> 
            4.set database configration
               modify the file:    my.ini
               [client]     default-character-set=utf8 
               [mysqld]  default-character-set=utf8
            5.restart Mysql server
            6.modified your table coding way to utf8

               or ceate your table like this :
               CREATE TABLE `user` (
              `ID` int(11) NOT NULL auto_increment,
              `USERNAME` varchar(50) NOT NULL default '',
              `PASSWORD` varchar(50) NOT NULL default '',
               PRIMARY KEY  (`ID`)
               ) ENGINE=MyISAM DEFAULT CHARSET=utf8; 
            7.restrart your tomcat sever

             OK,it's all.

             Authrougn I have sovled   my problem, I think I  don't have enough understanding for it,  So hope    communicate with you! 

             Attention:mess code also exist in your database,through page hasn't mess code.
             
               


             
            
                 
               

          posted on 2006-03-23 13:07 freefly 閱讀(456) 評(píng)論(0)  編輯  收藏 所屬分類: StrutsJavaDatabaseHibernateSpring

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 扎兰屯市| 尼木县| 靖安县| 秦安县| 牟定县| 台江县| 洪湖市| 康乐县| 六安市| 辛集市| 抚远县| 湖口县| 阳西县| 嘉义市| 五寨县| 菏泽市| 梅州市| 遵义县| 阿勒泰市| 孟州市| 泰来县| 菏泽市| 海伦市| 三都| 库车县| 大渡口区| 丹巴县| 瑞昌市| 山西省| 革吉县| 孝感市| 青岛市| 叶城县| 雷州市| 高邑县| 龙口市| 弥渡县| 绥江县| 石屏县| 阜新市| 绍兴县|