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