一、问题描述

最近使用Mybatis对MySQL数据库查询时,遇到了这个问题:使用模糊查询语句时,可以查询英文,但是查询不到中文,Eclipse中DEBUG输出的信息–如图:

这里写图片描述

可以看到,查询中文“彩”字儿时返回的0条记录,查询123时。返回了1条记录。而笔者数据库中相应字段都是有对应的值的。
这种问题一般都是编码问题!!!但是我的数据库格式、jsp、工程文件等都是UTF-8的,并没有错~。

二、解决办法

查了很多解决办法,最后发现——–我的配置文件(Configuration.xml)中有个标签是:

<property name="url" value="jdbc:mysql://xx.xx.xx.xx:3306/message?useSSL=false"/>

其中xx.xx.xx.xx是我的服务器地址,上面这标签忘了指定编码,所以应该加上,变成如下:

<property name="url" value="jdbc:mysql://39.106.66.189:3306/micro_message?useUnicode=true&amp;characterEncoding=UTF-8&amp;useSSL=false"/>

三、其它

造成这个问题的原因也有其它原因,如果上述问题解决办法没帮到你,或许你应该多往数据库的编码方面考虑。

Logo

更多推荐