[pgsql-jp: 38037] Re: データ移行時の文字コードエラーについて

Takao Kato sirius @ jp.fujitsu.com
2007年 2月 19日 (月) 14:21:20 JST


加藤@川崎です。

Toshihiro Kurai  (2007/02/19 14:09):
> 2つのデータベースのencodingはEUC-JPで同じです。

たまにアプリ側で誤混入される文字があるのかもしれませんね。

>>> invalid byte sequence does not match the encoding "EUC_JP": 0xa0ca
>> ということは、EUC-JP以外の文字列をEUC-JPに変換させようとしているというこ
>> とですか。
>> pg_dumpのオプションはなんでやりましたか。
> 
> 実行したpg_dumpは
>  pg_dump -h HOST_NAME -U USER_NAME -O -x -d -f FILE_NAME dbname
> です。

以前にも書いたことがありますが、↓のようにnkfに渡してやる方が安全かも。

pg_dump -h HOST -U USER -O -x -d dbname | nkf --euc --unix > FILE_NAME

ちなみに自分は(-O/-xは指定しませんが)vup時に流し込みに失敗することがあま
りにも多かったので、それ以来この方法で通常のバックアップ含めて文字コード
をEUC化しています。
# -dを付けるかどうかは、その時々で (^o^;)

-----------------------------------------------------------------------
加藤@川崎




pgsql-jp メーリングリストの案内