Wie codiere ich Shapefiles von LATIN1 nach UTF-8?

28

Gibt es eine Möglichkeit, Shapefiles von LATIN1 nach UTF-8 zu kodieren?

Gegenstrom
quelle

Antworten:

16

Sie können dies mit QGIS tun. Laden Sie zuerst Ihre Shapefiles save asund wählen Sie dann das Dropdown-Menü utf-8 und speichern Sie Ihre Datei.

Aragon
quelle
7
Achtung : Damit diese Lösung funktioniert, muss qgis in einer LATIN1 / ISO-8859-1-Umgebung gestartet werden, wenn Sie das Eingabe-Shapefile öffnen, da es sonst nicht korrekt gelesen wird. Wenn Sie in einer UTF8-Umgebung arbeiten, schlägt die Konvertierung möglicherweise unbemerkt fehl und beschädigt die Daten, abhängig von den Daten im Shapefile. Übrigens, die meisten Betriebssysteme verwenden jetzt standardmäßig UTF8.
unicoletti
1
Beachten Sie, dass es in einigen Situationen möglicherweise nicht funktioniert. Ich hatte diese Art von Problemen: ( osgeo-org.1560.n6.nabble.com/UTF-8-no-more-td4647456.html )
JaakL
Ich versuche, eine einzelne Formdatei vom System in utf-8 zu speichern, aber es funktioniert nicht. gis.stackexchange.com/questions/219092/…
Muhammad Faizan Khan
27

Vorausgesetzt, Sie arbeiten unter Linux und haben Zugriff auf eine aktuelle Version von GDAL , können Sie Folgendes versuchen (aus diesem Beitrag ):

 export SHAPE_ENCODING="ISO-8859-1"
 ogr2ogr output.shp input -lco ENCODING=UTF-8

Hinweis: LATIN1 sollte auch anstelle von ISO-8859-1 funktionieren.

In Windows NICHT einstellen SHAPE_ENCODING, ogr2ogrerkennt nicht ISO-8859-1, noch LATIN1.

unicoletti
quelle
Nur um zu verdeutlichen, scheint "kürzlich" hier 1.9.x zu bedeuten. Ich habe dies mit 1.8.1 versucht und es hat nicht funktioniert, habe es mit 1.9.1 erneut versucht und es hat funktioniert.
Michal Migurski
Hat bei mir unter Windows nicht funktioniert.
Pavel Radzivilovsky
Habe es unter Windows zum Laufen gebracht, habe die Antwort aktualisiert.
Flup
Wissen Sie, ob ich die Liste der gültigen Werte für SHAPE_ENCODINGirgendwo nachschlagen kann ?
JJD
1
@ JJD Sie werden auch von iconv verwendet: gnu.org/software/libiconv
unicoletti
3

Wenn ich Shapefiles richtig verstehe, ist der Teil, der codierungsempfindlich ist, die Attributdatenbank, die in der DBF-Datei enthalten ist.

Hier ist eine Antwort, die mir geholfen hat, dieses Problem mit LibreOffice Calc / Base zu lösen:

https://gis.stackexchange.com/a/3663/17998

Es hat den zusätzlichen Vorteil, dass Sie die DBF-Datei mit einem eigenen Zeichensatz öffnen und so die aktuelle Codierung ermitteln können.

Marian
quelle