WordPress 4.1.1 以降で文字化けが起こるケース

wordpress の公式フォーラムでも文字化けが起こるというユーザーが一部に出ているようですが、恐らくみな同じような事が原因で起こっているものと思われます。

自前のサーバーを使っていたりすると、MySQLのバージョンアップの都合でMySQLiのようなプラグインを使って対処している場合があります。

この場合 wp-content/db.php が作成され wpdb クラスを継承した派生クラスを使用してデータベースをアクセスしますが、今回のアップデートでキャラクターセットのイニシャライズ周りが変更されています。

wp_db.phpを比較してみれば一目瞭然ですが、流石に読む人は少数派でしょう。細かい事なのでチェンジログやチケットを斜め読みした限りでは見て取ることが出来ません。

wp412wpdb-merge-2p410wpdb

この為、この初期化を当て込んで処理しているようなdb関連の拡張プラグインを使用すると文字コードの認識がおかしくなります。文字化けしているからといって、手で直すようなことをすると想定外の文字コードでデータベースに書き込まれてしまうので止めて置きましょう。

キャッシュ関連のプラグインでも同様の現象を起こすものも存在するかも知れません。

酷いことにならないうちに、該当プラグインを停止して、さらに wp-content/db.phpが残っていたらリネームするか削除して、文字コードが正常に認識されるか確認しましょう。

 

WordPress

Posted by redchat