码迷,mamicode.com
首页 > 数据库 > 详细

MySql查询报错:Illegal mix of collations

时间:2021-04-19 14:12:48      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:navicat   cat   检查   关于   比较   base   字符串   ase   工具   

今天用MySQL做了一个很简单类似于 UserName=‘张三‘的查询,居然报错了:

Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation ‘=‘

从错误描述来看应该是字符集的问题,我的问题倒是比较简单,纯粹是因为服务器端使用的编码是utf8,我在连接时使用了utf8mb4,改了一下连接就好了,不过这个问题也是头一次遇见,这个问题通常是因为比较了两个不同字符集的字符串或者对不同字符集的字符串组合引起的的。
网上关于这块错误的描述蛮多,大部分都是直接库或者改表的字符集,此类操作一定要慎重,尤其在操作生产环境时,碰到字符集问题时,一般可以从连接、服务器端、数据库、数据表各个层次去检查,确认是否一致,字符集的查看,像MySQL-Font、Navicat等客户端工具都可以很方便的查看,也可以使用命令show variables like "collation_database";或者show table status;查看。

MySql查询报错:Illegal mix of collations

标签:navicat   cat   检查   关于   比较   base   字符串   ase   工具   

原文地址:https://www.cnblogs.com/krockey/p/14666091.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!