こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Postgres:LinuxからWinへのDB移行

LinuxのPostgres7.2からWindowsのPostgres8.3に
DB移行を使用としています。DBは移行後もEUC_JPです。

【行った手順】
Linux
・pg_dump -F p DB > test.sql 
FTP
・FTPクライアントソフトで、ファイルをWindowsマシンに転送
Win
・createdb -U postgres -h localhost -E EUC_JP DB
・psql -U postgres -h localhost DB
・windb=# \i C:/test.sql

LinuxからDumpし、Winのコマンドプロンプトでtest.sqlを実行すると
下記のエラーが発生します。

invaild byte sequence for eoncoding "EUC_JP":0x8de5"

元のファイルも、移行先のDBもEUC_JPなのに、どうしてこのような
エラーが発生するのでしょうか?
どなたかお知恵をお貸し下さい。

投稿日時 - 2009-12-11 19:35:27

QNo.5515139

すぐに回答ほしいです

質問者が選んだベストアンサー

日本語特有の問題なので、確信はもてませんが、
invaild byte sequence for eoncoding "EUC_JP":0x8de5"
はサーバが読み込んだ際、0x8de5に対する定義が書き込まれたものと違うというメッセージだと思われます。
postgresのバージョンを同じにして試されてはどうでしょう?

投稿日時 - 2009-12-16 02:23:52

ANo.1

このQ&Aは役に立ちましたか?

14人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

pg_dump -E EUC-JP DB > test.sql
でどうでしょうか?

投稿日時 - 2009-12-16 21:45:08

ANo.2

set PGCLIENTENCODING=EUC_JP

してから実行してもだめですか?
何もしないとクライアントからの入力は SQL_ASCII として
解釈されると思います。

投稿日時 - 2009-12-16 10:04:05

あなたにオススメの質問