Wenn Sie UTF8-Daten in Ihrer Datenbank speichern müssen, benötigen Sie eine Datenbank, die UTF8 akzeptiert. Sie können die Codierung Ihrer Datenbank in pgAdmin überprüfen. Klicken Sie einfach mit der rechten Maustaste auf die Datenbank und wählen Sie "Eigenschaften".
Dieser Fehler scheint jedoch darauf hinzudeuten, dass Ihre Quelldatei einige ungültige UTF8-Daten enthält. Das bedeutet, dass das copy
Dienstprogramm erkannt oder vermutet hat, dass Sie ihm eine UTF8-Datei zuführen.
Wenn Sie unter einer Unix-Variante arbeiten, können Sie die Codierung (mehr oder weniger) mit dem file
Dienstprogramm überprüfen .
$ file yourfilename
yourfilename: UTF-8 Unicode English text
(Ich denke, das funktioniert auch auf Macs im Terminal.) Ich bin mir nicht sicher, wie ich das unter Windows machen soll.
Wenn Sie dasselbe Dienstprogramm für eine Datei verwenden, die von Windows-Systemen stammt ( dh eine Datei, die nicht in UTF8 codiert ist), wird wahrscheinlich Folgendes angezeigt:
$ file yourfilename
yourfilename: ASCII text, with CRLF line terminators
Wenn die Dinge merkwürdig bleiben, können Sie versuchen, Ihre Eingabedaten in eine bekannte Codierung zu konvertieren, die Codierung Ihres Clients zu ändern oder beides. (Wir erweitern wirklich die Grenzen meines Wissens über Codierungen.)
Mit dem iconv
Dienstprogramm können Sie die Codierung der Eingabedaten ändern.
iconv -f original_charset -t utf-8 originalfile > newfile
Sie können die psql-Codierung (die Client-Codierung) gemäß den Anweisungen zur Zeichensatzunterstützung ändern . Suchen Sie auf dieser Seite nach dem Ausdruck "So aktivieren Sie die automatische Zeichensatzkonvertierung".