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