SQLSTATE[HY000]: General error: 1267 Illegal mix of collations (utf8_general_ci,IMPLICIT) and (gb2312_chinese_ci,COERCIBLE) for operation ‘=’
在操作MySQL数据库时,报“
error code [1267];
在Mysql数据库中执行函数报错:
Illegal mix of collations (gbk_chinese_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation ‘like’
对于常见的乱码问题,有的在数据库本身已经为gbk或gb2312时候,但是查询出来却是乱码,这是因为mysql在连接的过程中还有道编码,因此将连接的编码设为gb2312或utf-8
即可,如:
jdbc:mysql://localhost:3306/ipanel?useUnicode=true&characterEncoding=UTF-8
最重要的是这个问题:
Illegal mix of collations (gbk_chinese_ci,IMPLICIT) and (gb2312_chinese_ci,IMPLICIT) for operation ‘=’
是数据库内部的编码不统一引起的:
gbk_chinese_ci,有的数据是gb2312_chinese_ci,因此解决此问题的核心就是将数据库所有的编码进行统一。
解决方案一:暂时
//恶心的gb2312不能使用,需要转utf-8再继续
$where = $where . iconv(“gb2312”,“utf-8”," and USE

在MySQL数据库操作时遇到1267错误,涉及到gbk_chinese_ci和utf8_general_ci编码不匹配的问题。该错误通常由于数据库内部编码不统一引起。解决方案包括在查询时转换编码或通过命令行设置数据库、表、字段的字符集为同一编码,如gb2312_chinese_ci。
最低0.47元/天 解锁文章
669

被折叠的 条评论
为什么被折叠?



