[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 メーリングリストの案内