代码改变世界

解决利用hibernate连接mysql时无法插入汉字的问题

2013-12-31 11:07  雨打夏夜  阅读(315)  评论(0编辑  收藏  举报

1、先修改mysql数据库的配置文件my.ini,此文件放在mysql安装文件的根目录下。找到default-character-set属性,并将其值更改为utf8(不是utf-8),将default-character-set属性全部属性的值修改为utf8。

 

2、在mysql里创建新的数据库,显示设置数据库的编码格式,sql语句:create database MyDatabase charset=utf8;

 

3、配置hibernate.cfg.xml文件里的连接字符串:

<property name="connection.url">jdbc:mysql://localhost:3306/MyDatabase?useUnicode=true&amp;characterEncoding=utf8</property>

 

现在有一点比较奇怪的是:在command line client模式下,取出来的数据是乱码。但是用其他可视化操作软件不是,如navicate。从数据库中将数据取出,在后台打印后,显示的并没有乱码。这个问题是应该是命令行模式的显示编码有关。