Re: Umlautproblem Postgres

From: Oliver Fromme <olli(at)lurza.secnetix.de>
Date: Thu, 22 Mar 2012 12:45:40 +0100 (CET)

Marc Santhoff wrote:
> Ich muß eine PostgreSQL-Datenbank aus der Ferne bedienen. Diese ist auf
> UTF8 als Kodierung eingestellt. Mein lokaler REchner läuft üblicherweise
> mit ISO8859-1 bzw. -15.

Der psql-Client verwendet zur Eingabe die readline-Library.
Diese unterstützt nur 8Bit-Kodierungen, d.h. kein UTF-8
(zumindest die etwas angestaubte Version in FreeBSD).
Daher hilft Dir auch xterm im UTF-8-Modus nichts.

Ist aber nicht schlimm, weil Postgres automatisch die
Kodierungen transparent konvertiert. Man muss ihm nur
sagen, welche man verwendet.

Gib mal in psql folgendes Kommando ein:

\encoding LATIN9

Das schaltet den Client auf ISO 8859-15 um. Das xterm muss
natürlich auch auf ISO 8859 belassen werden, nicht UTF-8.
Dann sollte es klappen. Du kannst das \encoding-Kommando
auch in Deine ~/.psqlrc schreiben, damit es immer beim Start
ausgeführt wird.

Wenn man neugierig ist, kann man sich mit dem folgendenden
Kommando alle unterstützten Konvertierungen anzeigen lassen:

\dcS

Und um nur die Konvertiertungen für ISO 8859-15 zu sehen:

\dc *8859_15*

Dort wirst du die Konvertierungen von und zu UTF-8 finden.
Last but not least zeigt Dir das Kommando \l die Encodings
aller Datenbanken an, aber das kennst Du sicher bereits.

Das ist aber alles nur von sekundärem Interesse. Wie schon
gesagt, wird automatisch konvertiert. Entscheidend ist nur,
dass das Encoding auf der Client-Seite richtig eingestellt
ist.

> Und wie würde sich eine Lösung für die Konsole, also ohne X-Server,
> davon unterscheiden?

Die würde sich gar nicht unterscheiden. Vorausgesetzt, Du
verwendest auf der Konsole ebenfalls ISO 8859 (mit passendem
Zeichensatz).

Gruß
   Olli

PS: Nur falls noch nicht bekannt: "Latin-9" ist das gleiche
wie ISO 8859-15. Da die Latin-Kodierungen im Vergleich zu
ISO 8859 Lücken haben (es fehlen halt die nichtlateinischen
Alphabete), stimmen die Nummern nicht überein.

-- 
Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M.
Handelsregister: Registergericht Muenchen, HRA 74606,  Geschäftsfuehrung:
secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht Mün-
chen, HRB 125758,  Geschäftsführer: Maik Bachmann, Olaf Erb, Ralf Gebhart
FreeBSD-Dienstleistungen, -Produkte und mehr:  http://www.secnetix.de/bsd
Python is executable pseudocode.  Perl is executable line noise.
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Thu 22 Mar 2012 - 12:46:00 CET

search this site