今天在另一台服务器上重新部署了网站,结果出现了以下问题:
——用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