[pgsql-jp: 26464] Invalid EUC_JP character エラー対策

Hajime Lucky Okada paraiso @ luckyo.8m.com
2002年 6月 21日 (金) 15:29:57 JST


こんにちは、岡田と申します。

ある元データの CSV ファイルを \copy コマンドで Postgres に
データを吸い上げようとしているのですが、元ネタの品質が悪く
ERROR:  copy: line 2226, Invalid EUC_JP character sequence found (0xe16e)
というエラーが出て失敗します。

関係しているフィールドは ごく普通の text 型で、エラーの起こった CSV ファイルの
行には確かに文字化けキャラが存在します。


さて、悪いのは元ネタと分かっているのですが、何か これっという対策は無いでしょぅか?

1.Postgres 側に、text は text 型として文字化けのデータも
    そのまま登録する方法/設定/オプションはないか?

2.Postgres からは離れるのですが、読み込ませる前に 例えば Perl の
    フィルターをかけ文字化けの部分は削除してしまう、ということを考えた場合、
    うまくこの「EUC文字ではない文字 又は この文字を含む文字列」だけに
    マッチする正規表現はないか?

   (この方法の方が汚いデータがPostgres に上がらないので、こちらの
    手法を探っているのですが、良いものが出てきてません)


もし、いいアイデアがありましたら教えて頂けないでしょうか?


環境:
Postgres 7.2.1
Solaris 2.5
gcc version 2.95.3 20010315
Perl v5.6.1

以上、宜しくお願い致します。

岡田はじめ






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