用过滤器,包你解决乱码的烦恼.
参考下面的帖子:
http://community.csdn.net/Expert/TopicView3.asp?id=4547791

解决方案 »

  1.   

    确保存在库中的内容不是乱码jdbc:mysql://127.0.0.1/你的库?useUnicode=true&characterEncoding=GBK
      

  2.   

    <jsp-property-group>
    <description>Special property group for JSP Configuration JSP example.</description>   
    <display-name>JSPConfiguration</display-name>   
    <url-pattern>*.jsp</url-pattern> 
     <el-ignored>false</el-ignored>
     <page-encoding>GBK</page-encoding>   
     <scripting-invalid>false</scripting-invalid>   
     <include-prelude></include-prelude>   
     <include-coda></include-coda>  <description>Special property group for JSP Configuration JSP example.</description>   
     <display-name>JSPConfiguration</display-name>   
     <url-pattern>*.html</url-pattern>   
     <el-ignored>false</el-ignored>   
     <page-encoding>GBK</page-encoding>   
     <scripting-invalid>false</scripting-invalid>   
     <include-prelude></include-prelude>   
     <include-coda></include-coda>
    </jsp-property-group>
      

  3.   

    你用的数据库或数据库的JDBC驱动对中文的支持可能有问题
    建议:
    1。若是ORACLE数据库,请用ojdbc.jar而不是古老的class1.jar
    2。若是MySQL数据库,请用MySQL4.x版加1.3.x版的驱动,并注意连接串中的编码参数设置,具体记不清了,Google一下
      

  4.   

    库里的编码,和页面的编码不是同一种编码,比如说:你的数据库编码可能是 iso-8859-1 ,而你的页面展示,可能是 gb2312,所以,你需要转换成为你需要的编码格式。可以在系统中写一个方法,专门用于转换编码!package cc.yinbo.xxzh.common;import org.apache.log4j.Logger;
    import java.sql.Date;
    import java.io.UnsupportedEncodingException;
    //import java.util.Date;
    /**
     * 进行字符串的转换
     * <p>Title: 进行字符串的转换</p>
     * <p>Description: 2006-01-13</p>
     * <p>Copyright: Copyright (c) 2006</p>
     * <p>Company: yinbo</p>
     * @author eqzhou
     * @version 1.0
     */
    public class ConversionCharacter {
      private static Logger log=Logger.getLogger(cc.yinbo.xxzh.common.ConversionCharacter.class);  public ConversionCharacter() {
      }
      /**
       * 将数据库的 ISO-8859-1 编码,转换成 gb2312 编码可是,解决乱码问题
       * @param str String
       * @return String
       */
      public static String conversion(String str){
        String string="";
        if(str!=null){
          try {
            byte[] bytes = str.getBytes("ISO-8859-1");
            string = new String(bytes, "gb2312");
          }
          catch (UnsupportedEncodingException ex) {
            log.error("字符编码转换失败", ex);
          }
          string = string.trim();
          return string;
        }else{
          return string;
        }
      }
    }