0

30 GB のテキスト ファイルがあります。ファイルのエンコーディングは UTF8 ですが、一部の Windows-1252 文字も含まれています。そのため、インポートしようとすると、次のエラーが発生します。

ERROR:  invalid byte sequence for encoding "UTF8": 0x9b

どうすればこれを修正できますか?

このファイルに対して「ファイル」コマンドを実行すると、エンコードが UTF8 であると表示されます。ただし、UTF8 以外のバイト シーケンスも含まれています。たとえば、しばらくして \copy コマンドを実行すると、この行に上記のエラーが表示されます。

0B012234    Basic study of <img src="/fulltext-image.asp?format=htmlnonpaginated&src=323K744431152658_html\233_2    basic study of img src fulltext image asp format htmlnonpaginated src 323k744431152658_html 233_2   1975        Semigroup Forum semigroup forum 04861B53        19555
4

1 に答える 1

1

この問題はバックスラッシュ ( \) が原因です。
バックスラッシュを特殊文字として扱わない CSV 形式を使用します。

\copy t from myfile.txt with csv quote E'\x1' delimiter E'\x2'
于 2016-12-29T14:08:02.653 に答える