Probleme mit Zeichensatz

Hallo!
Ich möchte aus einem Shapefile über shp2pgsql ein SQL-Statement machen und dieses dann in Die DB importieren. funktioniert auch alles soweit ganz gut, bis irgendwo ein Umlaut auftaucht(sind Ortsnamen), dann wird die Transaktion abgebrochen.
Im SQL- Statemant steht so ein Kraut-und-Rüben-Ding für den Umlaut. Die DB ist UTF-8 codiert. Was muß ich ich da wo drehen das das geht. Das ging schon mal einfach so auf einem anderen Server, also hab ich da an nix böses gedacht…

Danke und SW :wink:
Uwe

Suse 10.0, PG 8.1.3, pGIS 1.1.2

Hallo Uwe,

ich hatte ein ähnliches Problem unter Windows, da PgAdmin immer UNICODE verlangt, um alle Zeichen darzustellen. Mir hat folgende Lösung geholfen:

SET client_encoding TO 'latin1';

Copy ...
From ...
...

SET client_encoding TO 'UNICODE';

Ich weiß aber nicht ob das auch unter Linux so funktioniert.



mfg

fristo

Jo, danke, werd ich gleich heut abend mal testen.

Grüssle Uwe

Mal nachgefragt: Warum verwendest Du für die Datenbank UTF-8?


mfg

fristo

Ehrlich gesagt, hab ich (noch) nicht darüber nachgedacht. :astonished: ops:

Bisher haben die Default-Werte funktioniert, und es ist das erste Mal das ich ein Umlautproblem habe…
Ich kann zwar ziemlich gut mit Geodaten, PostGIS und 3D-Modellen, bin aber auf dieser Ebene noch am Üben sozusagen :wink:

Gruß Uwe

EDIT:
Folgende Lösungen können vorgenommen werden:

  • die von fristo beschriebene
  • in der postgresql.conf kann das client_encoding ebenfalls eingestellt werden
  • der PostGIS-Loader shp2pgsql bietet über die _W-Option ebenfalls eine Möglichkeit das encoding einzustellen. In meiner ausgedruckten Anleitung war das nicht beschrieben sondern nur mit shp2pgsql --help, deswegen hab ich es wohl auch nicht gesehen :astonished: ops:

CU Uwe

Hallo Uwe,

das mit dem UTF-8 Zeichensatz für den Server ist richtig. Ich habe mich da irritieren lassen. Dein Problem ist/war die Client-Encoding, und die ist vom eingestellten Zeichensatz des Betriebssystems abhängig.



mfg

fristo