请问你是怎么调用的?能不能写出代码?还有你可以把GB2312都换成GBK试一下,我现在就用的hibernate+mysql,中文可以正常显示的!

解决方案 »

  1.   

    你用的什么web服务器,也有关系的,还有
    MYSQL连接字符串后面设置一定要用utf-8?useUnicode=true&characterEncoding=utf-8网页上面全部用gbk
    绝对可以出来
      

  2.   

    回楼上的,不好用我的tomcat 5.0.28 mysql 4.1.7
      

  3.   

    你可以专门写一个字符集转换的类。对需要持久化或者需要显示的内容,都进行转换。是最保险的方法。例如:------------------------
      /**
       * 将数据库的 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;
        }
      }
      

  4.   

    如果是mysql4.1以上的版本话
    写过滤类好象没有作用
    4.0用过滤类没有任何问题我现在的问题是
    hibernate+struts mysql4.1
    用以前好的应用出现乱码
    但是换到mysql4.0没有任何问题据说mysql4.1不需要 useUnicode=true&characterEncoding=
    这样的东西 当然也就不需要写过滤类
    但是还是乱码虽然这个问题是比较古老的问题
    但是还是希望能得到知道的朋友指点
      

  5.   

    tomcat server.xml中 Connector 加 URIEncoding="GBK"
    web.xml中<web-app character-encoding="GBK">
    mysql中 建表的时候 CHARSET=gbk;MYSQL连接字符串后面设置一定要用utf-8
    ?useUnicode=true&amp;characterEncoding=utf-8网页上面全部用gbk
    <%request.setCharacterEncoding("GBK");%>
    <%@ page language="java" contentType="text/html; charset=GBK"%>我的是tomcat5.0.19 mysql5
    你照上面设置绝对没有问题
    网页绝对可以显示中文
    我用mysql_front查看mysql也是中文从网页form 获取的时候加
    outStr = new String(inStr.getBytes("iso8859-1"));
    就可以
      

  6.   

    使用过滤器把,在过滤器内部对request的数据,进行编码转化
      

  7.   

    我上面把所有涉及到中文的地方都列出来了怎么会还不行,那你在程序里面System.out时候是中文么
      

  8.   

    实际上在问这个问题的时候,我已经试过了上面几乎全部的方法,只有用hibernate读出的部分是乱码,而且换了tomcat和mysql版本就好用了,只是我平时用的机器上,这2个东西版本是不能换的 :)
      

  9.   

    如果别的tomcat和mysql都可以,那你就看看你原来mysql表里面设置有没有不一样的地方吧。既然hibernate读出的部分是乱码,tomcat可能没有关系了。不过我觉得hibernate连接mysql真的是不太好,不光是中文的问题。要是有oracle还是用oracle的好
      

  10.   

    是mysql的事,把mysql中的配置文件my.ini 里面的编码全都该成gb2312,还有其他的地方的编码都改成gb2312就好了。