Illegal mix of collations
WordPress 資料庫錯誤「Illegal mix of collations」:原因與檢查方式
# 錯誤紀錄中常見的內容
WordPress database error Illegal mix of collations (utf8mb4_unicode_ci,IMPLICIT) and (utf8mb4_unicode_520_ci,IMPLICIT) for operation '='
同一個查詢比較或合併使用不同定序的文字欄位時,MySQL 與 MariaDB 會回傳這個錯誤,例如 utf8mb4_unicode_ci 與 utf8mb4_unicode_520_ci。在 WordPress 裡,這通常發生在搬家或只匯入一部分之後,部分資料表用的預設值和其他資料表不同。
你現在看到的是哪一種情況?
查詢合併了一張用其他定序建立的資料表。
在新伺服器建立的資料表用它的預設定序,匯入的資料表則保留舊的。
外掛建立資料表時用的定序,與它要合併的 WordPress 資料表不同。
常見原因
資料表定序混雜:部分資料表或欄位用一種定序,其他的用另一種。
伺服器預設值不同:新舊資料庫伺服器的預設定序不同。
只匯入一部分:只有部分資料表被匯出後再匯入。
外掛的資料表:外掛建立資料表時沒有對齊 WordPress 的定序。
參考資料
- Migrating WordPress (Advanced Administration Handbook)
- Debugging in WordPress (Advanced Administration Handbook)
不想自己動手處理?WP119 全自動修復
資料表定序混亂屬於自動處理的項目:系統轉換不相容的定序,表名寫進報告。修復在維修站的網站副本上進行,複驗通過後才寫回。您網站資料庫裡的受保護資料表(會員、留言、訂單、表單填寫)只取結構。SSH/FTP 模式下,系統寫回前先在您的主機建立修復前備份,寫回後驗證沒通過時,以這份備份進行還原。修復未能完成,修復費全額退還。
- 初步評估:輸入網址
- 複製到維修站:在副本上作業
- 找出原因:逐項檢查
- 修復與複驗:首頁與內頁
- 寫回或交付:複驗通過才進行
搬家或匯入之後,頁面或搜尋因為這個資料庫錯誤而失敗時,可以交給 WP119。
初步評估我的網站 →