現在使用している「さくらインターネット」のレンタルサーバー(スタンダードプラン)ですが、MySQL4.0で稼働していました。
しかしながら、Wordpress2.9からはMySQL5以上が必須となりました。
結果として、WordpressそのもののアップデートはMySQL5へのアップデートが前提条件となってしまいました。
簡単にいくと思っていたMySQLのアップグレード。
文字化けの嵐に悩んだ結果、なんとか稼働できるようになったのでその備忘録です。
他のサーバーで全く同じことをやっているんだけど、
MySQL5へ新規でWordpressをインストールしたものは大丈夫。
なぜだろう。
データのバックアップなどは、下記のサイトでやったとおりです。
- Waviaei「MySQLを4から5へ(さくら+WPの場合) 」
こちらのサイトは大変ためになりました。 - panoramique 「さくらインターネットでMySQLを4.0から5.1へ」
データベースのバックアップ自体は特に問題はなかったのですが、インポートしてみると
原因は文字コードの出力が違う、ということだけは分かっているのですがどうにもこうにもダメ。
phpmyadminで出力したファイルがUTF-8であるのは
nkf -g hogehoge.sql
で調べて確認済み。
phpmyadminの言語は「utf-8」になっているし、MySQLの接続照合順序というのが「utf8_unicode_ci」とか「utf8_general_ci」で試してもダメ。
php.iniの設定上でも、「mbstring.internal_encoding UTF-8」に書き換えてある。
最終的には、
wordpress ->wp-includes -> wp-db.php を開いて、400行目あたりに
$this->select($dbname);
という記述があるはずです。
これを
@mysql_query(“SET NAMES ‘utf8′”, $this->dbh);
$this->select($dbname);
と書き換えれば、なんということもなくあっさりと文字化けが解消。
ただし、wordpressのアップデートの度にここが書き換わりますので、その都度修正が必要になります。
めでたく、MySQL5.1になって気持ち、読み込み速度が速くなりました。
コメント