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.