Re: Umlautproblem Postgres

From: Marc Santhoff <M.Santhoff(at)web.de>
Date: Thu, 22 Mar 2012 13:13:46 +0100

Am Donnerstag, den 22.03.2012, 12:45 +0100 schrieb Oliver Fromme:
> 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.

Wie schon in anderer Mail geschrieben, war bekannt, bin aber falsch
damit umgegangen ...

> 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.

So geht's.

> 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.

Ah ja, das hatte ich bisher übersehen.

> 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).

Klar, ja.

> 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.

Genau, darauf wäre ich von selbst nicht gekommen.

Vielen Dank, jetzt klappt's!

-- 
Marc Santhoff <M.Santhoff(at)web.de>
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 - 13:12:07 CET

search this site