今天在用Hibernate向MySQL中插入数据时出现了乱码的问题,具体表现时我在插入前用utf-8打印出来中文时OK的,然后用MySQL Workbench设置成uft-8来显示从MySQL中查询出来的数据也是正确的,但是当我把代码中的数据插入数据库之后再进行查询时查询出来的就是乱码了,不知道怎么设置,因为两头utf-8都没问题,那问题肯定时出在了中间环节,也就是connect的时候。网上到处找结果终于找到了。
我们只需要在hibernate.property或者时hibernate.cfg.xml(取决于你是怎么连接数据库的)文件中进行一下设置就OK了。
原本我的连接语句是这么写的:
jdbc:mysql://localhost:3306/tablename
然后我修改成了:
jdbc:mysql://localhost:3306/tablename?useUnicode=true&characterEncoding=utf8
发现还是不行,原来是要改成这样:
jdbc:mysql://localhost:3306/tablename?useUnicode=true&characterEncoding=utf8
]]>
这样就OK了!