SQLSTATE[HY000]: General error: 1267 Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8mb4_unicode_ci,COERCIBLE) for operation 'like'
這個問題是說:查詢的表字符集與當前鏈接DB設置的字符集不一致
發現問題
① 檢查鏈接DB設置的字符集
‘mysql’ => [ ‘driver’ => ‘mysql’, ‘host’ => env(‘DB_HOST’, ‘localhost’), ‘database’ => env(‘DB_DATABASE’, ‘forge’), ‘username’ => env(‘DB_USERNAME’, ‘forge’), ‘password’ => env(‘DB_PASSWORD’, ”), ‘charset’ => ‘utf8mb4’, ‘collation’ => ‘utf8mb4_unicode_ci’, ‘prefix’ => ”, ‘strict’ => false, ],
② 查看查詢表及字段的字符集
mysql > SHOW CREATE TABLE table_name;
OR 或者
mysql > SHOW FULL Columns FROM table_name;
③ 比對鏈接庫設置的字符集 與 表及字段 的字符集是否一致
問題解決方案:
①更改鏈接庫字符集
②更改庫、表及字段字符集
mysql > ALTER TABLE table_name MODIFY <字段><類型> CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
歲月不長,不要期待來日方長