Bizメール&ウェブへの環境移行(WordPress)で文字化け発生時の対処法
2016/08/16
ローカル環境で作成していたWordPressを本環境に移行した際に文字化けが発生することがたまにあります。
だいたい文字コードあたりが悪さをしていることが多いと思うのですが、今回はNTT系列のBizメール&ウェブエコノミープランで文字化けが発生した時の対処法をご紹介。
リンクURLが文字化けだらけ
Bizメール&ウェブって正直なところ仕様にクセがあるので使いたくないのですが、仕方なく使わざるを得ない状況がありまして、サーバーにファイルをアップロードを実行。
データベース(MySQL)へのインポートと、URLの書き換えも完了。
よし、とサイト表示を確認したところ次のような状態に。
URLリンクの文字が壮大に文字化けしています。
「Home」が無事であることから日本語部分が尽く文字化けしている模様。
原因を特定する必要があります。
phpMyAdminを覗いていみたところ、日本語部分でも文字化けしている箇所と文字化けしていない箇所がありました。
文字コードあたりが怪しい。
utf8mb4が原因
WordPess4.2から文字コードが勝手にutf8からutf8mb4に変わる仕様になりました。
当時そのことを知らずにサイト作成していて本環境に移行したら文字化けが起きて大混乱する被害に遭ったのですが、今回のケースもそのパターンのようです。
まず最初にするべきことはwp-config.phpの修正です。
ローカル環境で最新のWordPressを使ってサイトを構築していた場合
1 2 |
/** データベースのテーブルを作成する際のデータベースの文字セット */ define('DB_CHARSET', 'utf8mb4'); |
のようになっていると思いますので、ここでutf8mb4をutf8にします。
1 2 |
/** データベースのテーブルを作成する際のデータベースの文字セット */ define('DB_CHARSET', 'utf8'); |
上記のように変更して、上書きしてください。
ここで、文字化けしたサイトを再表示してみるとサイトで文字化けしていた箇所は正しい表示になっているのではないかと思います。
インポートのやり直しを併せてしておいた方が良い
ただ、その状態でパーマリンク設定の更新を行い他のページの表示を確認してみると、文字化けページと文字化けしていないページの混在が見られました。
これはマズイ。
ということで、wp-config.phpの修正をした後には、再度MySQLにデータベースのインポートをやり直した方がいいです。
最初にやったDBのインポート、URLの置換をもう一度実行して表示を確認したところ、今度は文字化けが全てなくなっていました。
なんとかトラブル解決。