Wie codiere ich Shapefiles von LATIN1 nach UTF-8?


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.


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.


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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.