Казвате на Postgres, че източникът ще бъде кодиран като LATIN1:
Но това или не е така, или файлът е повреден. В противен случай няма да видим съобщението за грешка. Какво е истинското кодиране на '$FilePath\file.txt'
?
Текущият client_encoding
не е от значение за това, тъй като цитирайки ръководството на COPY
:
(\copy
е обвивка за SQL COPY
в psql.)
И вашето server_encoding
също е до голяма степен без значение - стига Postgres да може да използва вградено преобразуване
и целевото кодиране съдържа всички знаци от изходното кодиране - какъвто е случаят за LATIN1 -> UTF8:iso_8859_1_to_utf8
.
Така че оставащият източник на грешка е вашият файл, който почти сигурно не е валиден LATIN1.