mysql错误:Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE)

最近都在把老博客上的资料迁移到ttlsa, 这片是涉及到mysql字段问题的错误:错 误:java.sql.SQLException: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation ‘=’, 文章是3年前的,但是技术上的东西3年绝对不老,进入正题.

今天棋牌游戏惊醒一次测试,游戏部署完毕之后,无意中看到错误日志,如题,以下是解决方法。
相信有很多人碰到,意思是说字符编码不一样,不能进行比较,也就是说数据库内部的编码都不一样,有的数据是latin1_swedish_ci,有的数据是utf8_general_ci,,因此解决此问题的核心就是将数据库所有的编码进行统一。

1、查看数据库编码格式(是utf8),如下图:

Illegal mix of collations

Illegal mix of collations – 1

2、查看mysql编码(都是utf8)

Illegal mix of collations

Illegal mix of collations – 2

3、无奈,查看表的编码格式(发现是lant1)如下图:

Illegal mix of collations

Illegal mix of collations – 3

改为如下即可:

Illegal mix of collations

Illegal mix of collations – 4

最后、问题得到解决。