主要是两个原因组成:
1、MySQL默认编码最好是UTF-8(GBK也行,但在Java中要再转)。
sudo vim /etc/mysql/my.cnf
在[mysql]下添加内容:
[mysqld] skip-character-set-client-handshake=1 default-character-set=utf8
然后重启MySQL,如果有已经之前创建过的数据Schema,要Drop掉重来,才能是变成默认是utf8编码的。
2、Hibernate中DB连接URL:
如果上面一步完成后,仍然解决不了问题,在hibernate.cfg.xml配置文件中更改如下:
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/hibernate?useUnicode=true&characterEncoding=utf8</property>