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进行更改。

 

用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

终于解决了。

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

加油,路人共勉!

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值