Anda memberi tahu Postgres bahwa sumbernya akan dikodekan sebagai LATIN1:
Tapi bukan itu masalahnya atau filenya rusak. Jika tidak, kita tidak akan melihat pesan kesalahan. Apa pengkodean sebenarnya dari '$FilePath\file.txt'
?
client_encoding
saat ini tidak relevan untuk ini karena, mengutip manual di COPY
:
(\copy
hanyalah pembungkus untuk SQL COPY
di psql.)
Dan server_encoding
. Anda juga sebagian besar tidak relevan - selama Postgres dapat menggunakan konversi bawaan
dan penyandian target berisi semua karakter penyandian sumber - yang merupakan kasus untuk LATIN1 -> UTF8:iso_8859_1_to_utf8
.
Jadi sumber kesalahan yang tersisa adalah file Anda, yang hampir pasti bukan LATIN1 yang valid.