2008.09.07 Sunday 17:37
MySQLのDBデータのお引越し
このサイトではありませんが、サーバーとしてXREA+を使ってます。そこでMODxとWordPressを最初にインストールしたものがあったんですが、これがまたMySQLの設定を良くわからないままやってしまったんで、MySQLのDB内で文字コードがおかしくて化け化けな状態... XREA+の管理画面でEUC-JPを選んでDB作成してしまったのが原因。でも、DB内では文字化けのデータなのに、フロントエンドからはMODxもWordPressも正常にUTF-8で表示されるもんだから、あんまり気にしないでいました。
ということで、この化け化けデータを一旦エクスポートして、新たにUTF-8でDBを作成してそっちにデータを引っ越す作業を行いました。手順は以下のような感じ...
ということで、DB内も文字化けの無いクリーンな状態にすることができました~
それにしてもMySQLの文字コードは難しい... もっと勉強しなきゃね!
ということで、この化け化けデータを一旦エクスポートして、新たにUTF-8でDBを作成してそっちにデータを引っ越す作業を行いました。手順は以下のような感じ...
- SSHができるように設定
XREA+の管理画面からSSHができるようにホスト登録を行います。 - MySQLの文字化けデータをエクスポート
サーバーにSSHで接続して、以下のコマンドでMySQL内の文字化けしているデータベースを全てダンプします。# mysqldump -u [MySQLユーザ名] -p --default-character-set=latin1 [データベース名] > [エクスポートされたデータのファイル名]
どうして「EUC-JP」じゃなくて「latin1」なのかは謎... MODx側から確認したら何故か「latin1」でデータの出し入れをしていたので...笑(いい加減だ!) - 文字コードの変換
次にエクスポートしたデータの文字コードをUTF-8に変換します。# nkf -lw < [エクスポートしたデータのファイル名] > [変換後のファイル名]
これを新たに作成したUTF-8のDBにインポートして、MODxとWordPress側で新しいDBに接続するようコンフィグを修正すればOK!
ということで、DB内も文字化けの無いクリーンな状態にすることができました~
それにしてもMySQLの文字コードは難しい... もっと勉強しなきゃね!
comments