WordPressでマルチサイト構築時に参加サイトを新規作成できない時の対応(Mysql COLLATEについて)

さくらインターネットで起きた例です。

コントロールパネルでデータベースの新規作成を行うと、テーブルの照会順序がutf8mb4_general_ciでできたり、utf8_general_ciでできたりします*1

この状態で、WordPressのマルチサイトを構築し、参加サイトを足そうすると、wpdb_get_table_charset_failureというエラーが返ってきて、参加サイトを足せません。

これは照会順序の問題なので、結論的には、wp-config.phpのDB_COLLATEの値を設定してあげればうまくいきます。

/** データベースのテーブルを作成する際のデータベースの文字セット */
define('DB_CHARSET', 'utf8mb4');

/** データベースの照合順序 (ほとんどの場合変更する必要はありません) */
define('DB_COLLATE', 'utf8mb4_general_ci');

こんなかんじになります。


  • *1 もしかすると、ある時期から、utf8mb4_general_ciになったのかもしれません