我是用hibernate连接的MySQL数据库,我该成UTF-8 数据库里面查询是乱码 jdbc查询页是乱码, 我在网上查了在连接后面加编码也试了 还是不行。
连接配置
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver">
</property>
<property name="url" value="jdbc:mysql://localhost:3306/siksoft?useUnicode=true&amp;characterEncoding=UTF-8">
</property>
<property name="username" value="root"></property>

</bean>数据库编码信息:
mysql> show VARIABLES like 'character_%';
+--------------------------+----------------------------------------------------
-----+
| Variable_name            | Value
     |
+--------------------------+----------------------------------------------------
-----+
| character_set_client     | utf8
     |
| character_set_connection | utf8
     |
| character_set_database   | utf8
     |
| character_set_filesystem | binary
     |
| character_set_results    | utf8
     |
| character_set_server     | gb2312
     |
| character_set_system     | utf8
     |
| character_sets_dir       | C:\Program Files\MySQL\MySQL Server 5.1\share\chars
ets\ |
+--------------------------+----------------------------------------------------
-----+
8 rows in set (0.00 sec)
那位知道那出问题的 请告诉一下 谢谢

解决方案 »

  1.   

    查询插入前先执行 set names gbk 
      

  2.   

    不是插入的问题 现在  现在是查询出来的中文都是乱码  我用其他工具插入都可以 但是JDBC连接查询出来的的数据就是乱码
      

  3.   

    估计你插入的本身就是乱码!
    找一下乱码的记录,  select hex(colName) from ..出来看一上实际的编码是什么?
      

  4.   

    如果我把编码改成默认编码在MYSQL里面查询就显示中文,如果该成其他的都不能显示中文
      

  5.   

    你的默认编码是什么总之一句话: mysql数据库和数据表编码,和网页编码要一致!
    而且不管查询和插入操作,都执行下set names gbk (gbk是你的编码) 
      

  6.   

    set names gb2312 试试