java.sql.SQLException: Illegal mix of collations (gb2312_chinese_ci,IMPLICIT) and (utf8_general_ci,C

本文详细记录了解决Java连接MySQL时遇到的'Illegal mix of collations'异常的过程。问题源于字符集配置不一致,通过检查数据库和应用的字符集设置,发现Mysql与Eclipse设置冲突。尝试修改my.ini文件为utf8无果后,最终定位到字段字符集问题,将字段改为utf8_general_ci成功解决了问题。
摘要由CSDN通过智能技术生成

问题如下:

java.sql.SQLException: Illegal mix of collations (gb2312_chinese_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='

问题分析:

应该是字符集设置的原因,看看Mysql的字符集设置估计和Eclipse里面的Java语言设置起冲突了,我觉得。

在Navicat中输入:show variables like 'character_set_%';

列表正常!

在Navicat中输入:show variables like 'collation_%'

 

从参考资料中可以知道collation_server 应该是同上utf8_general_ci。

解决问题:

set collation_server=utf8_general_ci;

接着分析问题:

还是不行,再次排查。问题出在排序规则上,gb2312_chinese_ci

 

在my.ini改成utf8还是没有效果。 

应该是这里的问题

问题所在,字段的字符集不符,造成误码。把它们改成utf8_general_ci 

解决问题:成功跳转界面 

 

参考博客:

java.sql.SQLException: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '=' 异常处理,及MySQL数据库编码设置 - 夏嘻嘻嘻嘻嘻 - 博客园 (cnblogs.com)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值