Wenn Sie UTF8-Daten in Ihrer Datenbank speichern müssen, benötigen Sie eine Datenbank, die UTF8 akzeptiert. Sie können die Kodierung Ihrer Datenbank in pgAdmin überprüfen. Klicken Sie einfach mit der rechten Maustaste auf die Datenbank und wählen Sie "Eigenschaften".
Aber dieser Fehler scheint Ihnen zu sagen, dass Ihre Quelldatei ungültige UTF8-Daten enthält. Das bedeutet, dass die copy
Dienstprogramm hat erkannt oder vermutet, dass Sie es mit einer UTF8-Datei füttern.
Wenn Sie unter einer Unix-Variante laufen, können Sie die Kodierung (mehr oder weniger) mit der file
überprüfen Dienstprogramm.
$ file yourfilename
yourfilename: UTF-8 Unicode English text
(Ich denke, das funktioniert auch auf Macs im Terminal.) Ich bin mir nicht sicher, wie das unter Windows geht.
Wenn Sie dasselbe Dienstprogramm für eine Datei verwenden, die von Windows-Systemen stammt (d. h. eine Datei, die nicht codiert in UTF8), wird es wahrscheinlich so aussehen:
$ file yourfilename
yourfilename: ASCII text, with CRLF line terminators
Wenn die Dinge seltsam bleiben, können Sie versuchen, Ihre Eingabedaten in eine bekannte Codierung zu konvertieren, die Codierung Ihres Clients zu ändern oder beides. (Wir gehen wirklich an die Grenzen meines Wissens über Kodierungen.)
Sie können das iconv
verwenden Dienstprogramm zum Ändern der Codierung der Eingabedaten.
iconv -f original_charset -t utf-8 originalfile > newfile
Sie können die psql-Codierung (den Client) ändern, indem Sie den Anweisungen unter Zeichensatzunterstützung folgen. Suchen Sie auf dieser Seite nach dem Ausdruck "Um die automatische Zeichensatzkonvertierung zu aktivieren".