さくらでmysqlを4.0から5.1に移行するための準備段階で、一歩前進。
現在オンラインで稼働中のデータをエクスポートしたものが、ローカル環境のphpmyadminでなぜ化けるのかを考えていて、みなさんのネット上での書きこみを拝見する日々だったが、ようやくその点で前進。
うちのデータベースをstatusコマンドで見てみたところ、キャラクタセットはすべてlatin1がデフォルトになっていた。わたしはこれまで「データを読みこんでから」これを変更したりと、あれこれ試行錯誤していたのだが、読みこむ前にutf8に変えておけば化けないことに、ようやく気づいた(遅すぎ?)。
mysql> status;
————–
(略)
Connection: Localhost via UNIX socket
Server characterset: latin1
Db characterset: utf8 ← (1)
Client characterset: latin1
Conn. characterset: latin1
(略)
————–
mysql>
(1)がlatin1だったので、「alter database [dbname] character set utf8」で、変えておく
つまり、さくらはここがすべて ujis になっているそうなので、同じように「読みこむ前に」utf8にしておけば、phpmyadmin上での文字化けが防げるはずだ。
もっとも、8月にバージョンアップを試みたときは、phpmyadmin上で化けて見えないのに実際のファイルが化けているという現象に悩まされて解決できなかった経験があり、まだ多少の不安はある。
ローカル環境でもう少し実験してみて、いよいよ今月中旬にはバージョンアップに踏み切ろうと思う。OpenPNEの分のデータだけで100MB前後あるので、かなり緊張する。