Wie bestimmen Sie den Zeichensatz eines Shapefiles?

25

Gibt es eine Möglichkeit, den für ein bestimmtes Shapefile verwendeten Zeichensatz zu bestimmen?

Matthew Finlay
quelle

Antworten:

9

Versuch und Irrtum. Versuchen Sie, die DBF-Datei mit MS Excel oder OpenOffice mit einer anderen Einstellung zu öffnen, bis Sie alles richtig gemacht haben.

In diesem Beitrag finden Sie weitere Hinweise: https://stackoverflow.com/questions/319095/how-do-i-determine-the-character-set-of-a-string

Pablo
quelle
Wenn nichts über die Kodierung bekannt ist, lohnt es sich, zuerst latin1 oder UTF-8 zu probieren.
krlmlr
Ich habe die DBF in MS Excel geöffnet und die Zeichen werden normal angezeigt. Wie kann ich sehen, welche Codierung Excel verwendet / erkennt? Damit ich es in QGIS einstellen kann ...
user3386170
12

Es gibt zwei Möglichkeiten für Programme, den Zeichensatz für ein Shapefile zu bestimmen.

Andreas W. Bartels
quelle
+1 Dieser Link zu einer Seite im dBase-Dateiformat ist großartig. AFAIK-Codepages wurden jedoch nie in das dBase III-Format aufgenommen. Der dortige Verweis bezieht sich auf eine FoxPro-Erweiterung des Formats, die darauf hinweist, dass nicht alle DBF-Dateien Codepage-Informationen enthalten (oder, falls dies der Fall ist, möglicherweise darauf zurückzuführen, dass Müllbytes in einem freien Bereich des Headers angezeigt werden) ). Aber wenn Sie diese Informationen herausfinden können, ist dies immer noch ein guter Anfang für eine Versuch-und-Irrtum-Suche. Übrigens, willkommen auf unserer Seite!
Whuber
Einige Python-DBF-Bibliotheken können die Codepage lesen, wenn Informationen vorhanden sind.
Paulo Scardine
5

Das fileDienstprogramm kann die Kodierung einer Textdatei erraten. Verwenden Sie diese Option ogr2ogrfür eine Konvertierung, bei der die ursprüngliche Codierung beibehalten wird, wenn keine .cpgDatei vorhanden ist :

ogr2ogr -f CSV file.csv file.dbf
file file.csv

Beispielausgabe:

file.csv: ISO-8859 text

Ich habe es mit zwei der häufigsten Codierungen getestet, UTF-8 und latin1. Funktioniert in Ubuntu sofort und ist sich in Bezug auf OS X nicht sicher. Mir ist kein fileHilfsprogramm unter Windows bekannt.

HINWEIS : Sobald eine entsprechende .cpgDatei vorhanden ist, die die Codierung angibt, ogr2ogrwird diese berücksichtigt und die Ausgabe erfolgt in UTF-8. Wenn die CSV-Ausgabe jedoch richtig aussieht, wissen Sie, dass die Informationen in der .cpgDatei korrekt sind.

krlmlr
quelle