Als u UTF8-gegevens in uw database wilt opslaan, hebt u een database nodig die UTF8 accepteert. U kunt de codering van uw database controleren in pgAdmin. Klik met de rechtermuisknop op de database en selecteer "Eigenschappen".
Maar die fout lijkt u te vertellen dat er enkele ongeldige UTF8-gegevens in uw bronbestand staan. Dat betekent dat de copy
hulpprogramma heeft gedetecteerd of vermoed dat u een UTF8-bestand invoert.
Als je onder een variant van Unix draait, kun je de codering (min of meer) controleren met het file
hulpprogramma.
$ file yourfilename
yourfilename: UTF-8 Unicode English text
(Ik denk dat dat ook op Macs in de terminal zal werken.) Ik weet niet zeker hoe dat onder Windows moet.
Als u hetzelfde hulpprogramma gebruikt op een bestand dat afkomstig is van Windows-systemen (dat wil zeggen een bestand dat niet gecodeerd in UTF8), zal het waarschijnlijk zoiets als dit tonen:
$ file yourfilename
yourfilename: ASCII text, with CRLF line terminators
Als de zaken raar blijven, kunt u proberen uw invoergegevens om te zetten naar een bekende codering, de codering van uw client te wijzigen, of beide. (We verleggen echt de grenzen van mijn kennis over coderingen.)
U kunt de iconv
. gebruiken hulpprogramma om de codering van de invoergegevens te wijzigen.
iconv -f original_charset -t utf-8 originalfile > newfile
U kunt de psql-codering (de client) wijzigen volgens de instructies in Character Set Support. Zoek op die pagina naar de zin "Automatische tekensetconversie inschakelen".