mybatis mysql模糊_使用mybatis从mysql里进行模糊查询的编码问题

关于这个问题,记录下我的解决方法,希望对有同样困惑的朋友,有所帮助。

问题描述:

我在做mybatis从mysql里模糊查询时,如果模糊的关键词是字母的话,可以查出来。如果模糊的关键词是汉字的话,查不出来。字母可以汉字却不可以,问题肯定出在编码上,可是是哪一块的编码呢?

a、workspace:我设置的是utf-8,此能保证我这个页面的字符编码是u8格式,跟它无关。

b、url链接上:这是我的链接地址:,我的sql语句是由url地址请求去跟mysql会话,肯定是在这个过程中字

符转换除了问题。所以要么是url的问题,要么是mysql中字符编码问题。

处理过程也就分为2个思路:

1、改url地址:

很多博客说在url末尾加上字符编码:

CharSet=utf8",即url改成:;

useUnicode=true&ampcharacterEncoding=UTF-8,即,

两种试了都不行。

针对“度友”此处加字符编码我的理解是:将查询语句使用UTF8格式的编码发送到服务器上。但问题是以u8格式发送到mysql后,mysql还是没有正确拿到我传递过去的汉字,进

而去数据库里模糊查询,或者说mysql翻译错了,查了没查出来。

2、改mysql中的字符编码:

在此推荐一篇博文:https://www.cnblogs.com/henw/p/3874050.html,对mysql的编解码讲述很详细。

我改了下图所示中的这些编码为u8,问题解决了。

26bc13b1baac7fb24ea9003cc273130f.png

具体操作,在my.ini文件中(D:\Program Files\MySQL\MySQL Server 5.5),找到一下红色标记,加入相应字符编码,如果有更改就ok。

[client]

default-character-set=utf8

[mysql]

default-character-set=utf8

[mysqld]

character-set-server=utf8

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值