Jika Anda perlu menyimpan data UTF8 di database Anda, Anda memerlukan database yang menerima UTF8. Anda dapat memeriksa encoding database Anda di pgAdmin. Cukup klik kanan database, dan pilih "Properties".
Tetapi kesalahan itu tampaknya memberi tahu Anda bahwa ada beberapa data UTF8 yang tidak valid di file sumber Anda. Artinya, copy
utilitas tersebut telah mendeteksi atau menebak bahwa Anda memberinya file UTF8.
Jika Anda menjalankan beberapa varian Unix, Anda dapat memeriksa encoding (lebih atau kurang) dengan file
utilitas.
$ file yourfilename
yourfilename: UTF-8 Unicode English text
(Saya pikir itu akan bekerja pada Mac di terminal, juga.) Tidak yakin bagaimana melakukannya di bawah Windows.
Jika Anda menggunakan utilitas yang sama pada file yang berasal dari sistem Windows (yaitu, file yang tidak dikodekan dalam UTF8), itu mungkin akan menampilkan sesuatu seperti ini:
$ file yourfilename
yourfilename: ASCII text, with CRLF line terminators
Jika tetap aneh, Anda dapat mencoba mengubah data masukan Anda menjadi pengkodean yang dikenal, untuk mengubah pengkodean klien Anda, atau keduanya. (Kami benar-benar memperluas batas pengetahuan saya tentang pengkodean.)
Anda dapat menggunakan iconv
utilitas untuk mengubah pengkodean data masukan.
iconv -f original_charset -t utf-8 originalfile > newfile
Anda dapat mengubah encoding psql (klien) dengan mengikuti petunjuk di Dukungan Kumpulan Karakter . Di halaman tersebut, cari frasa "Untuk mengaktifkan konversi kumpulan karakter otomatis".