Wie steuere ich Codierungen in pgsql2shp?

8

Ich habe eine Datenbank und exportiere mit pgsql2shp verschiedene Shapefiles. Aber wenn ich die Datenbank öffne, werden die Zeichen falsch angezeigt. Beispiel: BroeksterwÔld und dies sollte Broeksterwäld sein.

Dies hat wahrscheinlich mit der Codierung zu tun. Die Datenbank ist UTF-8. Ich habe versucht, die Shapefiles als LATIN1 zu exportieren, kann aber nicht herausfinden, wie das geht.


AKTUALISIEREN

Ich habe dieses Problem gelöst, indem ich dem Batch-Skript 'set pgclientencoding = latin1' (ohne Anführungszeichen) hinzugefügt habe.

Stefan
quelle
Stefans Antwort ist richtig. In einer Unix / Bash-Umgebung muss dies der Fall sein export PGCLIENTENCODING=LATIN1. Großbuchstaben sind zumindest in meiner Umgebung (Mac OS X 10.10.1 und PostgreSQL 9.3) obligatorisch.
thomaskonrad
Dies sollte ein Kommentar gegen die andere Antwort sein, keine neue Antwort.
BradHards

Antworten:

4

Ich habe dieses Problem gelöst, indem ich dem Batch-Skript 'set pgclientencoding = latin1' (ohne Anführungszeichen) hinzugefügt habe.

Stefan
quelle
3

Es gibt die Option -W für pgsql2shp, mit der Sie die Codierung angeben können. Sie können auch die Umgebungsvariable PGCLIENTENCODING festlegen. Die meisten Datensätze des niederländischen CBS oder des niederländischen Kadaster werden in der CP1252-Codierung und nicht in Latin1 geliefert.

Edward Mac Gillavry
quelle
1
Vielen Dank! Ich glaube, die Option -W funktioniert nur mit shp 2 postgres und leider nicht mit postgres 2 shp. Ich habe versucht, die Umgebungsvariable PGCLIENTENCODING festzulegen, bin mir aber nicht sicher, ob ich es richtig mache. Was muss ich einstellen, würde das durch Systemvariablen und dann unter Variable 'PGCLIENTENCODING' (ohne Anführungszeichen) und unter Wert 'Latin1' oder 'CP1252' (ohne Anführungszeichen). Und wie schreibe ich dann den Befehl pgsql2shp? So: pgsql2shp.exe -f Ordner -h .. -p .. -u ... -P .. -g Geometrie .. oder muss ich etwas hinzufügen. Danke für Ihre Hilfe!
Stefan
0

Mit welchem ​​S / W können Sie das Shapefile anzeigen? Wenn Sie QGIS verwenden, können Sie die Codierung des Shapefiles auswählen und diese dann mit der neuen Codierung speichern. Siehe auch hier

mapoholic
quelle
Danke für die Antwort. Aber ich möchte die Codierung in ein Skript einfügen, das ich habe. Weil es jeden Monat 60 Shapefile-Exporte gibt. Ich möchte die Codierung nicht jeden Monat für jede Datei manuell ändern. Kennen Sie vielleicht eine Möglichkeit, es in ein Skript einzufügen?
Stefan