我之前把mysql的编码全部设置成为gbk,hibernate和那些程序的编码也全部设置成为gbk,但是插入数据库的时候 在控制台看到的是正常的中文显示,但是插入到了数据库中就变成了乱码了,但是我如果直接在数据库中执行插入中文的语句就不没有乱码,后来我又把编码全部设置成了utf-8,但是插入中文的时候还是乱码,这个问题该怎么办啊?弄了一天了!编码都统一了的,但是始终是不正确,好纠结!

解决方案 »

  1.   

    所谓的统一不是改下字符编码就可以的喽.
    要保证以下几个地方统一:
    1.建数据库时的字符编码
    2.建表时的字符编码
    3.连接数据库的URL字符编码
    4.程序的字符编码.
    看看你都做到没?
      

  2.   

    如果现在数据库的编码是UTF-8的话,那么在MYSQL的连接字符串中加入下面的内容.
    ?useUnicode=true&characterEncoding=utf8象这样..
    jdbc:mysql://localhost/databasename?useUnicode=true&characterEncoding=utf8
      

  3.   

    我在用hibernate连接数据库的时候是
    <property name="connection.useUnicode">true</property>
    <property name="connection.characterEncoding">utf-8</property>这样子设置的,和楼上的说的方式是一样的!另外我建数据库的时候设置的编码是utf8,然后表里面的编码也是utf8和utf8_bin,但是还是不行
      

  4.   

    我mysql设置的是utf8
    hibernate里面设置
    jdbc:mysql://localhost/databasename?useUnicode=true&amp;characterEncoding=utf8
    <property name="connection.useUnicode">true</property>
    <property name="connection.characterEncoding">utf-8</property>
    还是不行求关注!!!!!!!
      

  5.   

    貌似mysql5.1全部编码格式设置为GBK一切OK,用GBK