日期:2014-05-16  浏览次数:20792 次

Hibernate中设置MySQL的中文编码

? ? ??今天在用Hibernate向MySQL中插入数据时出现了乱码的问题,具体表现时我在插入前用utf-8打印出来中文时OK的,然后用MySQL Workbench设置成uft-8来显示从MySQL中查询出来的数据也是正确的,但是当我把代码中的数据插入数据库之后再进行查询时查询出来的就是乱 码了,不知道怎么设置,因为两头utf-8都没问题,那问题肯定时出在了中间环节,也就是connect的时候。网上到处找结果终于找到了。

我们只需要在hibernate.property或者时hibernate.cfg.xml(取决于你是怎么连接数据库的)文件中进行一下设置就OK了。

原本我的连接语句是这么写的:

<property name="connection.url">

jdbc:mysql://localhost:3306/tablename

</property>

?

????? 然后我修改成了:

<property name="connection.url">

jdbc:mysql://localhost:3306/tablename?useUnicode=true&characterEncoding=utf8

</property>

发现还是不行,原来是要改成这样:

<property name="connection.url">

<![CDATA[

jdbc:mysql://localhost:3306/tablename?useUnicode=true&characterEncoding=utf8

]]>

</property>

?

这样就OK了!