关于mybatis只能查询英文,不能查询中文的问题

近日使用mybatis做项目的时候碰到的问题,使用mybatis对数据进行模糊查询的时候,只能查询英文,而不能查询中文,即:输入参数为英文就成功,中文就查询不到结果。

在网上查了许多资料,总结下来就是以下几种情况:

问题一:

jsp页面,项目的properties,配置文件,数据库等的编码格式是否统一都为UTF-8。

解决方法:修改各文件编码格式,统一为UTF-8

问题二:

数据库安装后,编码没设置。

解决方法:修改配置文件,最简单的完美修改方法,修改mysql的my.cnf文件中的字符集键值(注意配置的字段细节):

1、在[client]字段里加入default-character-set=utf8,如下:
1
[client]
2
port = 3306
3
socket = /var/lib/mysql/mysql.sock
4
default-character-set=utf8


2、在[mysqld]字段里加入character-set-server=utf8,如下:
1
[mysqld]
2
port = 3306
3
socket = /var/lib/mysql/mysql.sock
4
character-set-server=utf8


3、在[mysql]字段里加入default-character-set=utf8,如下:
1
[mysql]
2
no-auto-rehash
3
default-character-set=utf8
修改完成后,service mysql restart重启mysql服务就生效。

再一查询OK了

问题三:

数据源在配置时,编码转换格式配置出错。

解决办法:

修改mybatis配置文件中配置数据源模块:

<property name="url" value="jdbc:mysql://localhost:3306/cloth?useUnicode=true&amp;characterEncoding=UTF-8"/>

这里需要注意,一般时候,我们都习惯写成<property name="url" value="jdbc:mysql://localhost:3306/cloth?useUnicode=true&characterEncoding=UTF-8"/>,但是在XML文件中,它的编码规则决定要这么变换。

在xml文件中有以下几类字符要进行转义替换:

&lt;

<

小于号

&gt;

>

大于号

&amp;

&

&apos;

'

单引号

&quot;

"

双引号


  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值