Sie sind nicht angemeldet.

1

14.01.2011, 21:36

postgresql

hey,..

Quellcode

1
2
3
postgres=# create database testdb with encoding 'latin1';
FEHLER:  Kodierung LATIN1 stimmt nicht mit Locale de_DE.UTF-8 überein
DETAIL:  Die gewählte LC_CTYPE-Einstellung verlangt die Kodierung UTF8.


laut Dokumentation kann ich jede datenbank die Zeichensatzkodierung separat
festlegen. hab jetzt lange gesucht im web und der doku aber nix gefunden.
jmd nee idee warum das nicht klappt?
bb

2

15.01.2011, 02:50

Hallo und willkommen im Forum

Hmm, nur ein blinder Schuss ins Blaue:
hast du de_DE.iso88591 verfügbar?
siehe zb in der Ausgabe von

Quellcode

1
locale -a


Oder ist eventuell in einer postgres Config explizit UTF-8 gesetzt?

3

15.01.2011, 10:42

Zitat

hast du de_DE.iso88591 verfügbar?


ja



Zitat

Oder ist eventuell in einer postgres Config explizit UTF-8 gesetzt?



kodierung wird ja bei initdb gesetzt, datenbankcluster ist mit utf8 erstellt worden,
trotzdem sollte man einzelne datenbanken mit einer anderen kodiereung erstellen können.
postgresql version 8.4.5

4

15.01.2011, 21:04

Hmm, darf man fragen warum du überhaupt noch latin1 verwenden möchtest, da ansonsten ja scheinbar utf8 genutzt wird?

Ansonsten muss ich hier leider passen, habe mich mit postgresql noch nie beschäftigt.

Aber eventuell auch noch mal Interessant zum Thema kodierung (auch wenn es hier um mysql geht)
Die Umlautproblematik - was, wieso, was tun?

5

18.01.2011, 18:15

hey,..
ist soweit kein Problem, hab den client upgedatet und es läuft auch mit unicode.
trotzdem wuesste ich gern warum ich die db nicht mit latin1 erstellen kann, obwohl
das lt. doku funktionieren sollte.
bye, jens.

6

21.01.2011, 11:22

Käme utf-8 gar nicht in Frage?

Also ich persönlich arbeite nur noch mit utf-8, da gibt's am wenigsten Probleme und es erlaubt internationale Sonderzeichen.

Ein Nachteil bei utf-8 jedoch ist: Zeichen kann 1-4 Bytes benötigen, aus der Anzahl der Bytes kann man nicht auf die Anzahl der Zeichen berechnen.

Um Text-Dateien in UTF-8 umzuwandeln, dazu gibt es den Befehl "iconv".

Gruß

Egon