这个错误,就是查询的sql编码 与 数据库 中的 表字段编码不一致导致的,改成一致就行了。
这里要说的是,本人排查的时候发现的问题。
看到这个错误 我就去navicat去查看当前表的编码
发现 和 mybatis xml里的编码 一致。这就比较奇怪了,一致 还能报错?
后续每个参数 的查询都试了一遍,发现传某个参数值就报这个错,传其他参数不会报错。后来
用show full columns from tablename 该语句查询下这个表的每个字段的编码,才发现这个表中 其中一个字段的编码是latin1_swedish_ci(这个字段是建表后手动加的),执行了下alter table tablename convert to character set utf8,把该表的所有字段 都设置成utf-8了,问题就解决了。
想说的是之前还以为上面图中的编码是啥,这个表里的字段编码就是啥呢,其实之前想的也没啥问题,只是后续手动添加的字段可能会和当时建表的编码不一致....