さくらインターネット+MySQL5+WordPress2.9

2010-02-18

現在使用している「さくらインターネット」のレンタルサーバー(スタンダードプラン)ですが、MySQL4.0で稼働していました。
しかしながら、Wordpress2.9からはMySQL5以上が必須となりました。
結果として、WordpressそのもののアップデートはMySQL5へのアップデートが前提条件となってしまいました。

簡単にいくと思っていたMySQLのアップグレード。
文字化けの嵐に悩んだ結果、なんとか稼働できるようになったのでその備忘録です。

他のサーバーで全く同じことをやっているんだけど、
MySQL5へ新規でWordpressをインストールしたものは大丈夫。
なぜだろう。

データのバックアップなどは、下記のサイトでやったとおりです。

データベースのバックアップ自体は特に問題はなかったのですが、インポートしてみると

原因は文字コードの出力が違う、ということだけは分かっているのですがどうにもこうにもダメ。

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になって気持ち、読み込み速度が速くなりました。