java.sql.SQLException: Illegal mix of collations
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:946)
这是字符集的问题
首先、查看mysql的my.cnf,确认为utf8
mysql> show variables like "%char%";
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
mysql> show variables like "%coll%";
+----------------------+-----------------+
| Variable_name | Value |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |
+----------------------+-----------------+
二、查看表以及字段的的字符集是否为utf8
解决办法:
主要mysql编码碰到了问题,这里建议将mysql数据库的中文编码修改为utf8(所有地方)。
1)将mysql安装目录下的my.ini编码都修改为utf8
2)新建数据库时,选用utf8编码
3)新建varchar列时选用utf8编码,
保证解决编码问题!
----------
常用命令备忘
SHOW VARIABLES LIKE 'character_set_%';
SHOW VARIABLES LIKE 'collation_%';
SET collation_server = gb2312_chinese_ci
set names = utf8
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)