iCLUSTA+のDBで文字コードにエラーが出た場合の対処法(※utf8mb4は使用不可)
先日テスト環境からデータベースを本番環境(iCLUSTA+)に移行したところ、
Unknown collation: ‘utf8mb4_unicode_ci’
※サーバのバージョンが低いなどの理由でutf8mb4が使えないということらしいです。
というエラーが出てしまったのですが、以下の記事のおかげで対処できました。
ありがとうございます!
phpMyAdminでテーブルの文字コード変換をしたのは初めてでしたので、自分用にもメモ代わりに記事にしておきたいと思います。
※スクリーンショットは、ローカルのMAMPのものです。
phpMyAdminにて文字コードを変換し、エクスポート
「SQL」のタブをクリックし、その下のテキストエリアに以下のように入力し、「実行」ボタンをクリックします。
ALTER TABLE 【テーブルの名前】 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
(例では、【テーブルの名前】の部分に、wp_commentmetaを入力しました)
↓こんな感じ。
照合順序が「utf8_general_ci」に変わっていることを確認します。
この方法で、1つ1つテーブルを変換します。
全てのテーブルを変換し終わったら、エクスポートします。
エクスポートしたSQLの中身を修正
エクスポートしたSQLをテキストエディタで開いて、
「utf8mb4_unicode_ci」→「utf8_general_ci」
「utf8mb4」→「utf8」
に置換します。
※サーバー移行の場合は、以下の箇所のURLなども修正します。
(1, 'siteurl', 'http://www.○○○○.com', 'yes'),
(2, 'home', 'http://www.○○○○.com', 'yes'),
wp-config.phpを修正
define('DB_CHARSET', 'utf8mb4');
↓
define('DB_CHARSET', 'utf8');