Как импортировать из файла смешанной кодировки в таблицу PostgreSQL

У меня есть текстовый файл 30 ГБ. кодировка файла UTF8, но она также содержит некоторые символы Windows-1252. Итак, когда я пытаюсь импортировать, выдает следующую ошибку:

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

Как я могу это исправить?

файл уже имеет формат UTF8, когда я запускаю команду 'file' для этого файла, он говорит, что кодировка 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

1 ответ

Решение

Проблема вызвана обратной косой чертой (\).
Используйте формат CSV, который не обрабатывает обратную косую черту как специальный символ, например:

\copy t from myfile.txt with csv quote E'\x1' delimiter E'\x2'
Другие вопросы по тегам