Postgres - ОШИБКА: неверная последовательность байтов для кодировки "UTF8": 0xca 0x2d - PullRequest
0 голосов
/ 05 ноября 2018

Я пытаюсь импортировать массивный текстовый файл в postgres. Когда я набрал следующую команду:

\ COPY denton_2018_rawdata FROM 'C: \ Users \ testu \ Downloads \ denton_county \ 2018-website-all-property \ 2018-08-28_005183_APPRAISAL_INFO.txt' разделитель E '\ x01'

Я получил следующую ошибку:

ОШИБКА: неверная последовательность байтов для кодировки "UTF8": 0xca 0x2d КОНТЕКСТ: КОПИЯ denton_2018_rawdata, строка 22769: "000000027205R 02018000000000000 ..."

Итак, я попробовал следующую команду (добавив ENCODING 'WINDOWS-1252'):

\ COPY denton_2018_rawdata ИЗ 'C: \ Users \ testu \ Downloads \ denton_county \ 2018-website-all-property \ 2018-08-28_005183_APPRAISAL_INFO.txt' разделитель E '\ x01' ENCODING 'WINDOWS-1252';

Но все равно получил ту же ошибку. Может ли кто-нибудь помочь, пожалуйста?

1 Ответ

0 голосов
/ 06 ноября 2018

PostgreSQL очень строго относится к кодировке UTF8. Это связано с возможными атаками SQL-инъекций, основанными на недопустимых символах UTF8. Сначала вы должны знать, что такое исходная кодировка. Во-вторых, вы должны удалить все сломанные символы перед импортом в Postgres.

Есть некоторые приложения, которые могут выполнять эту работу - например, iconv

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...