java.sql.SQLException: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '=',意思是說字符編碼不一樣,不能進行比較,也就是說數據庫內部的編碼都不一樣,有的數據是latin1_swedish_ci,有的數據是utf8_general_ci,,因此解決此問題的核心就是將數據庫所有的編碼進行統一。
1、查看數據庫編碼,使用sql語句:show variables like 'character_set_%';
正確的如下圖:
如果編碼不對,可使用以下sql語句進行修改:
set character_set_client=utf8;
set character_set_connection=utf8;
set character_set_database=utf8;
set character_set_results=utf8;
set character_set_server=utf8;
set character_set_system=utf8;
2、查看排序規則,使用sql語句:show variables like 'collation_%';
正確的如下圖:

如果不對,可使用以下sql語句進行修改:
set collation_connection=utf8;
set collation_database=utf8;
set collation_server=utf8;
