sun-spring

今天在实现Spring+hibernate+Mysql 中文模糊查询时发现,hql竟然不支持中文,但是英文字母等都是可以的。究竟是为什么呢?

1.控制台打印的sql语句完全正确,不存在乱码的现象。

2.Mysql数据库也是采用的UTF-8的字符集。

3.Hql语句拼接不行(如:"from Entity t where t.name like \'%"+key+"%\'")、占位符传参也不行。

 

弄了一两个小时,还是找不到头绪(心里那个恼火啊!)。憋到最后用了下别的数据库,同样的Hql,sqlserver是可以的。看来问题就出在数据库上了。

锁定问题所在就好办了,于是在寻找了几十分钟终于找到答案。

解决办法很简单,只需要在配置数据库的url中加上  "?useUnicode=true&characterEncoding=UTF-8"即可。

比如jdbc:mysql://localhost:3306/xxxx?useUnicode=true&characterEncoding=UTF-8,运行一下程序,完全解决。

 

给自己长个记性,遇到问题不能慌,讲究方式方法。也分享给大家,让遇到相同问题的朋友少走个弯路。

 

 

分类:

技术点:

相关文章:

  • 2021-11-18
  • 2021-11-16
  • 2021-11-07
  • 2022-12-23
  • 2021-11-18
  • 2022-12-23
猜你喜欢
  • 2021-11-05
  • 2021-05-31
  • 2021-11-18
  • 2022-12-23
  • 2021-09-23
  • 2022-12-23
  • 2021-11-18
相关资源
相似解决方案