Hibernate 3.2 与MySQL 5.6插入中文乱码问题

我的环境是Spring 3.0.5+Hibernate 3.2 与MySQL 5.6 WEB项目,在用户模块中创建用户时需要将用户对象写入表中。

在UserDaoImpl中采用getHibernateTemplate().saveOrUpdate(user);实现,英文和数字完全没问题。

中文用户名时,在调试输出的hql语句中,name属性也是正确的,可是写入MySQL表中之后成乱码 ???

查了数据库字符集设置,是UTF-8,没错啊;

我以为应该是hibernate配置的问题吧?

于是试着直接更改表格中的name字段,此时可以正确显示出中文名字。

既然可以查出中文字段,那么,是不是不需要配置了呢?

额,纳闷了啊~~

我又改了我的项目的编码,设置成UTF-8,但是还是同样的问题。

恼了,真恼了~

查了谷歌,发现需要对connection.url进行更改。

扫描二维码关注公众号,回复: 3648287 查看本文章

用hibernate.cfg.xml进行配置:

<property name="connection.url">jdbc:mysql://localhost:3306/HiberTest?useUnicode=true&amp;characterEncoding=UTF-8</property>

如果用hibernate.properties进行配置
#hibernate.connection.url jdbc:mysql://localhost:3306/HiberTest?useUnicode=true&characterEncoding=UTF-8

终于解决了。

费了我一个早上,走了那么多弯路。

加油,路人共勉!

猜你喜欢

转载自blog.csdn.net/u014694028/article/details/48946975