Se è necessario archiviare i dati UTF8 nel database, è necessario un database che accetta UTF8. Puoi controllare la codifica del tuo database in pgAdmin. Basta fare clic con il tasto destro del mouse sul database e selezionare "Proprietà".
Ma quell'errore sembra dirti che ci sono alcuni dati UTF8 non validi nel tuo file sorgente. Ciò significa che l' copy
utilità ha rilevato o indovinato che stai fornendo un file UTF8.
Se stai utilizzando una variante di Unix, puoi controllare la codifica (più o meno) con l' file
utilità.
$ file yourfilename
yourfilename: UTF-8 Unicode English text
(Penso che funzionerà anche su Mac nel terminale.) Non sono sicuro di come farlo in Windows.
Se usi la stessa utility su un file proveniente da sistemi Windows (ovvero un file non codificato in UTF8), probabilmente mostrerà qualcosa del genere:
$ file yourfilename
yourfilename: ASCII text, with CRLF line terminators
Se le cose rimangono strane, potresti provare a convertire i dati di input in una codifica nota, a modificare la codifica del tuo client o entrambi. (Stiamo davvero allungando i limiti della mia conoscenza delle codifiche.)
È possibile utilizzare l' iconv
utilità per modificare la codifica dei dati di input.
iconv -f original_charset -t utf-8 originalfile > newfile
È possibile modificare la codifica psql (il client) seguendo le istruzioni sul supporto del set di caratteri . In quella pagina, cerca la frase "Per abilitare la conversione automatica del set di caratteri".