您的位置:首页 > 数据库 > MySQL

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

2015-10-07 10:29 330 查看
我的环境是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进行更改。

用hibernate.cfg.xml进行配置:

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

如果用hibernate.properties进行配置

#hibernate.connection.url jdbc:mysql://localhost:3306/HiberTest?useUnicode=true&characterEncoding=UTF-8

终于解决了。

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

加油,路人共勉!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: