timestep回答ポイント 200ptウォッチ

postgresqlで文字エンコーディングの設定について


SQL文の書かれたファイルを実行すると
ERROR: invalid byte sequence for encoding "UTF8": 0xbb
というようなエラーが出ます。


エラーが出るまでの手順
環境MacOS10.6

initdb /usr/local/var/postgres --encoding=EUC_JP --no-locale
でEUCの設定ができるように初期化

createdb -E EUC_JP sampledb
でEUCの設定でDB作成

create文とinsert文が書かれたSQLファイル(文字コードはEUC)
を実行すると最初に書いたエラーが出てくる

psql -l で該当のDBのEncodingを見ると EUCになっている

psqlユーティリティで該当のDBに入って
show client_encoding;すると、なぜかUTF8が表示される

set client_encoding TO "EUC_JP";してから
show client_encoding;するとEUCになる。

しかしpsqlからexitしてまた入り直すとUTF8に戻っている。

しょうがないのでファイルの文字コードをUTF8に変えて実行するとうまくいった。

手順は以上です。

ファイルの文字コードをEUCのままで処理を成功させたいのですが、
どうしたらよいでしょうか。

※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。
ログインして回答する

ベストアンサー

その他の回答

この質問へのコメント

この質問への反応(ブックマークコメント)

質問の情報

登録日時
2012-09-19 13:55:29
終了日時
2012-09-26 14:00:03
回答条件
1人5回まで

この質問のカテゴリ

この質問に含まれるキーワード

psql8postgreSQL330SQL1319EUC191文字コード574エンコーディング75dB1997初期化581EXIT194

人気の質問

メニュー

PC版