Mówisz Postgresowi, że źródło będzie zakodowane jako LATIN1:
Ale albo tak nie jest, albo plik jest uszkodzony. W przeciwnym razie nie zobaczylibyśmy komunikatu o błędzie. Jakie jest prawdziwe kodowanie '$FilePath\file.txt'
?
Bieżące client_encoding
nie ma to znaczenia, ponieważ cytując instrukcję na COPY
:
(\copy
jest tylko opakowaniem dla SQL COPY
w psql.)
I twoje server_encoding
jest również w dużej mierze nieistotne – o ile Postgres może używać wbudowana konwersja
a kodowanie docelowe zawiera wszystkie znaki kodowania źródłowego - tak jest w przypadku LATIN1 -> UTF8:iso_8859_1_to_utf8
.
Pozostałym źródłem błędu jest więc plik, który prawie na pewno nie jest prawidłowym LATIN1.