CakePHPでデータベースの文字コードの話し

今開発しているWebサイトは、別の開発会社が別の機能を開発している。時間の関係で私がすべて開発できないので、発注元が別の開発会社を割り当てている。

その会社からの質問。

本番サーバーのDBにアクセスしたら文字コードの関係でデータが抽出できない。

そういえば、本番サーバーはTurboLinuxで文字コードがEUCだっけ。インストールされているPostgreSQLも7.x系で、テストサーバーとは違っていたような。テストサーバーは8.x。この辺りは自分がサーバーの面倒を見ている訳ではないから伝えていなかった。失敗。

PostgreSQL上にUTF-8でデータベースをcreatedbで作成しておいて、UTF-8でダンプしたSQLでリストアしておいた。システムの想定する文字コードはUTF-8。この辺りが怪しそうなので連絡しておいた。

私はCakePHPで開発していて、別の開発会社はperlのCGIで開発。CakePHPの経験がないので、perlのCGIになったようだ。

こちらは全く文字コードの意識はしていない。なにかうまく動いている。結果オーライ。apps/config/database.phpでencodingの設定もしていない。データベースが絡んだ案件は、必ず最初に文字コードでトラブルが起こる。

後から、私は非協力的だと開発会社から言われるのでしょうね。psqlコマンドで一発でわかりそうなものだが、そういえば発注元はその開発会社に、サーバーにシェルでアクセスさせる権限が与えていないかも・・・。