在学习使用hibernate框架将对象存入Mysql数据库之后,使用navicat来查看,里面全部都是乱码但是我用程序打印到控制台的时候又是正常显示的中文navicat的Connection Properties中的User mysql character set 我已经去掉了的
并且Encoding选择了 65001 (UTF-8)DataBase Properties 中 collation默认为utf8_general_ci我的java程序编码也是UTF-8请问怎么解决...是否在hibernate配置文件中还要写什么?

解决方案 »

  1.   

    版本:
    hibernate -- 3.2
    MySql --- 5.0
    navicat --- 8.0
    在网上搜了很多方法..
    都是只是在navicat中把那个字符编码设置成UTF-8就可以.可是我老是不行...
      

  2.   

    程序编码和最终传给数据库的字符编码完全是两回事。举个例子,如果你的程序编码是utf-8,但是在中文版Windows XP下,通过
    new String(byte[] b)生成的字符串仍旧是GBK编码,因为在不指定字符串编码的情况下是默认操作系统编码,而不是java源文件的编码。
      

  3.   

    UTF-8中文确实是乱码,数据库的编码请改成gb2312 
      

  4.   

    navicat中的connection properties ->advanced->encoding我已经设置成了936   (ANSI/OEM - Simplified Chinese GBK)数据库的属性的character-set也是改成了gbk -- GBK Simplified Chinese我的Eclipse采用的还是UTF-8.换成gbk试了...可是到navicat中还是乱码...是不是需要在其他什么地方修改什么的?请注意:
    我使用查询语句得到并打印出来的属性并不是乱码
      

  5.   

    改成gb2312还是一样...
    抓狂了......
    该死的navicat
      

  6.   

    LZ,我改成GB2312,显示的就对了。你是不是传入数据库的编码不是UTF8也不是GBK,也不是GB2312啊,或许是别的,你多试几个吧。
      

  7.   

    换了WIN7 所有东西都重装了之后 我也出现了这样的问题 纠结啊