PostgreSQLのDBを復元するとき「invalid byte sequence for encoding "SJIS"」が出た
WindowsのPostgreSQL8.1にLinuxサーバのPostgreSQL7.3のDBのダンプを復元するとき、invalid byte sequence for encoding "SJIS":見たいなエラーが出た。
D:\>psql -U postgres -e sampledb < sampledb .dmp.20090623
(↑これを実行した後にエラー)
どうやらPostgreSQLクライアントの文字コードの問題らしいので、環境変数「PGCLIENTENCODING」をEUC_JPに変更したらうまくいった。(このとき、DBは再作成しておくこと)
D:\>set PGCLIENTENCODING=EUC_JP D:\>psql -U postgres -e sampledb < sampledb .dmp.20090623
Linux側のDBの文字コードはEUC_JPだったので、Windows側も同じようにEUC_JPで作ったんだけど、それだけじゃダメなのね。