プロが教えるわが家の防犯対策術!

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なのに、どうしてこのような
エラーが発生するのでしょうか?
どなたかお知恵をお貸し下さい。

A 回答 (3件)

日本語特有の問題なので、確信はもてませんが、


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

set PGCLIENTENCODING=EUC_JP



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

pg_dump -E EUC-JP DB > test.sql


でどうでしょうか?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す