hibernate mysql写入中文乱码 1.修改创建的数据库编码 2.修改MySQL的默认编码 3.修改Hibernate配置文件

启动hibernate项目,自动创建表,插入数据之后发现写入表里的数据里的中文是乱码。按如下方法解决了:

修改数据库的字符集为UTF-8,这个可以通过mysql的客户端软件里右键要修改的数据库的属性更改。

或者在命令行里面创建数据库的时候指定字符集。

2.修改MySQL的默认编码

修改Client默认字符集为UTF8。

windows下在mysql安装目录(我的计算机操作系统是Windows 7 64,默认的安装路径在:C:Program Files (x86)MySQLMySQL Server 5.0)下找到my.ini,将里面的default-character-set=latin1 改为default-character-set=UTF8,然后重起mysql服务即可将数据库默认字符集改为utf8。

修改Server默认字符集为UTF8。

my.ini里面的character-set-server=utf8。

(可以用"status"关键字在命令行里查看数据库的一些属性状态。)

3.修改Hibernate配置文件

在项目的hibernate的配置文件hibernate.cfg.xml里修改name为“hibernate.connection.url"的property的值为:

jdbc:mysql://localhost:3306/db?useUnicode=true&characterEncoding=UTF-8,其中db为数据库的名称。

4.然后启动项目,执行代码,插入的中文就不会是乱码了。