首页 > 代码库 > hibernate连接mysql,查询条件中有中文时,查询结果没有记录,而数据库有符合条件的记录(解决方法)

hibernate连接mysql,查询条件中有中文时,查询结果没有记录,而数据库有符合条件的记录(解决方法)

今天在另一台服务器上重新部署了网站,结果出现了以下问题:

——用hibernate做mysql的数据库连接时,当查询条件中有中文的时候,查询结果没有记录,而数据库中是存在符合条件的记录的。

测试了以下,发现不加条件查询可以查到,加上查询条件包含中文就无法找到记录。

百度发现,以下两篇文章很有帮助。

http://gzxabcdefg.blog.163.com/blog/static/23451794201081554816892/

http://bbs.51cto.com/thread-1031017-1.html

解决办法是采用了第二篇中的方法,再hibernate配置中添加了  ?useUnicode=true&characterEncoding=UTF-8    。

其中useUnicode=true&characterEncoding=UTF-8的作用,可参考下面这篇文章:

http://www.xuebuyuan.com/621807.html

hibernate连接mysql,查询条件中有中文时,查询结果没有记录,而数据库有符合条件的记录(解决方法)