ブログ

データベースの文字コード変換

2018年10月15日
TwitterAPIのどツボにハマって遊んでしまいましたでTwitter関係を触ったら、このブログが文字化けし始めました。
紺屋の白袴で、未だにEUC-JPでした。もうこうなったらついでにUTF-8にしてしまいます。
いつかはやらねばと思っていたし、いやもっと優先順位の高い物があるので、その後のつもりだったのですが。

で、移行終了・・かな。多分。後はエラーが出た時に対応します。

ブログを運用しながら移行しました。
文字コードUTF-8のデータベースを新しく作り、そこにEUC-JPのデータベース全体からダンプしたファイルを使ってデータベース全体をリストアしました。
ダンプ(バックアップ)はcronで毎日動かしていますが、リストアは初めてでした。

今回移行したデータベースはPostgreSQLです。
旧データベースはPostgreSQL7でしたが、新データベースはPostgreSQL9になっていました。

一部のSQLでエラーが出ていたのでそちらも修正しました。
テーブル結合を行っている場合、FROM句に全てのテーブル名がないと(結合はWHERE句に書いているので)エラーになるようになっったようです。そう言えば「どうして全てのテーブルを書いていないのに動くんだろう」と思った記憶があります(でもそのまま動かしていたなんて・・・)。

そしてついでのついでで、html5へ移行もしました。

いつも作っているソフトウェアはフィルシステムですし、滅多にデータベースなんて触らなくなってしまっているので、とても緊張しました。息するの忘れているんじゃあないかって自分で思いました。

まだ一番大切なサイトの移行が残っています。ブログは予行演習でした。

大変良い勉強になりました。