2013-09-27 4 views
0

У меня возникает проблема при копировании файла, который разделен §. Версия базы данных 9,1postgresql copy command delimiter non aphanumeric character

содержимое файла, как показано ниже:

a§b§c
1§4§5

Copy Команда:

copy test.test_ingestion (a,b,c) from 'b.csv' CSV HEADER DELIMITER as E'§'; 

Ошибка: неверная последовательность байтов для кодирования «UTF8»: 0xa7

В соответствии с моим пониманием § является символом UTF-8, а для кодировки базы данных установлено значение UTF-8. Так почему же он не копирует файл, ограниченный §.

ответ

0

0xa7 - код для § в iso-latin-1, поэтому поток данных, передаваемый COPY, кодируется в iso-latin-1, а не UTF-8.

В качестве решения вы можете либо установить client_encoding в LATIN1 в сеансе SQL, импортируя содержимое, либо преобразовать их в UTF-8 перед импортом.

Смежные вопросы