UTF8 und sortieren

Hallo!

Ein Webportal soll mehrsprachig werden. Nun überlege ich, welchen
Zeichensatz ich nehme, den die Sprachen stehen noch nicht wirklich
fest. Da passt wohl am besten UTF8.

Nur wenn ich UTF8 nehme, haut das mit dem Sortieren der Umlaute nicht
hin. Die Datenbank habe ich mit Encoding UTF8 angelegt.


Andr=E9 Laugks



---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster
L-Andre [ Fr, 18 August 2006 17:54 ] [ ID #1435507 ]

Re: UTF8 und sortieren

Am Freitag, 18. August 2006 17:54 schrieb l-andre [at] gmx.de:
> Nur wenn ich UTF8 nehme, haut das mit dem Sortieren der Umlaute nicht
> hin. Die Datenbank habe ich mit Encoding UTF8 angelegt.

Locale auf irgendwas umstellen, dass sich auf xx_YY.utf8 reimt.

--
Peter Eisentraut
http://developer.postgresql.org/~petere/

---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings
Peter Eisentraut [ Fr, 18 August 2006 18:26 ] [ ID #1435508 ]

Re: UTF8 und sortieren

Hallo!

Am Freitag, 18. August 2006 18:26 schrieb Peter Eisentraut <peter_e [at] gmx.n=
et>:
> Locale auf irgendwas umstellen, dass sich auf xx_YY.utf8 reimt.

Ich habe mehrere Sprachen. Wie kann ich also zum Beispiel vor einer
Abfrage den richtigen Zeichensatz setzen.

Alles was zu Locale gefunden habe war, dass es nur beim initialisieren
der Datenbank bzw. in der postgresql.conf setzen kann.

Es muß aber auch Spanisch, Französisch oder Russisch richtig sortiert
werden können.


Andr=E9 Laugks






---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster
L-Andre [ Sa, 19 August 2006 16:31 ] [ ID #1436448 ]

Re: UTF8 und sortieren

Andr=E9 Laugks wrote:
> Ich habe mehrere Sprachen. Wie kann ich also zum Beispiel vor einer
> Abfrage den richtigen Zeichensatz setzen.

Den Zeichensatz will man ja wohl nicht vor jeder Abfrage umstellen, denn
die Zeichen sind ja schon in der Datenbank drin, die kann man ja nicht
so einfach umpostulieren.

> Alles was zu Locale gefunden habe war, dass es nur beim
> initialisieren der Datenbank bzw. in der postgresql.conf setzen kann.

Das erste stimmt, das zweite nicht.

> Es muß aber auch Spanisch, Französisch oder Russisch richtig sortie=
rt
> werden können.

Das geht mit den eingebauten Mitteln nicht.
--
Peter Eisentraut
http://developer.postgresql.org/~petere/

---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?

http://archives.postgresql.org
Peter Eisentraut [ Sa, 19 August 2006 18:56 ] [ ID #1436449 ]

Re: UTF8 und sortieren

Hallo!

von Peter Eisentraut <peter_e [at] gmx.net> am 19.08.2006:
> Das geht mit den eingebauten Mitteln nicht.

Und wie hantiere ich nun am besten mit der Mehrsprachigkeit.

Ich würde dieses Projekt gern mit PostgreSQL umsetzen. Ich habe nun
Sorgen, dass mir diese Mehrsprachigkeit mal um die Ohren fliegen wird.

Ich hatte auch ehr daran gedacht, PostgreSQL zu sagen, nach welchen
Zeichensatz sortiert werden soll und nicht den Zeichensatz
umzustellen. Oder werden die Daten einfach richtig sortiert, wenn sie
als UTF vorliegen?

MySQL bietet mir folgendes:
SELECT row FROM table ORDER BY row COLLATE latin1_german1_ci;

Muffler
Müller
MX Systems
MySQL


Andr=E9 Laugks



---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?

http://archives.postgresql.org
L-Andre [ So, 20 August 2006 15:43 ] [ ID #1437195 ]

Re: UTF8 und sortieren

von Andr=E9 Laugks <l-andre [at] gmx.de> am 20.08.2006:
> MySQL bietet mir folgendes:
> SELECT row FROM table ORDER BY row COLLATE latin1_german1_ci;

Hier war ich ein wenig vorlaut ;-). Wenn die Datenbank in UTF8
angelegt ist, kann ich nicht mit COLLATE latin1_german1_ci die
"Reihenfolge" angeben. MySQL meckert herum, dass es nicht zu UTF8
passt...



Andr=E9 Laugks



---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to majordomo [at] postgresql.org so that your
message can get through to the mailing list cleanly
L-Andre [ So, 20 August 2006 19:21 ] [ ID #1437196 ]

Re: UTF8 und sortieren

von Andr=E9 Laugks <l-andre [at] gmx.de> am 20.08.2006:
> Oder werden die Daten einfach richtig sortiert, wenn sie
> als UTF vorliegen?

Ich habe mal ein wenig gestetet:

SELECT name FROM tabelle ORDER BY name ASC;

Möller
Müller
Mayer
Mosel
Mueller
Muth

Das sieht wirklich nicht gut aus.



Andr=E9 Laugks



---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings
L-Andre [ So, 20 August 2006 19:24 ] [ ID #1437197 ]

Re: UTF8 und sortieren

Andr=E9 Laugks wrote:
> Ich hatte auch ehr daran gedacht, PostgreSQL zu sagen, nach welchen
> Zeichensatz sortiert werden soll und nicht den Zeichensatz
> umzustellen. Oder werden die Daten einfach richtig sortiert, wenn sie
> als UTF vorliegen?

Der Zeichensatz sagt nur, welche Zeichen verwendet werden. Relevant fü=
r
die Sortierung ist die Locale.

--
Peter Eisentraut
http://developer.postgresql.org/~petere/

---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?

http://archives.postgresql.org
Peter Eisentraut [ So, 20 August 2006 19:43 ] [ ID #1437198 ]

Re: UTF8 und sortieren

Andr=E9 Laugks wrote:
> Ich habe mal ein wenig gestetet:
>
> SELECT name FROM tabelle ORDER BY name ASC;
>
> Möller
> Müller
> Mayer
> Mosel
> Mueller
> Muth
>
> Das sieht wirklich nicht gut aus.

Sieht ganz nach falscher Locale aus.

--
Peter Eisentraut
http://developer.postgresql.org/~petere/

---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?

http://archives.postgresql.org
Peter Eisentraut [ So, 20 August 2006 19:43 ] [ ID #1437199 ]

Re: UTF8 und sortieren

von Peter Eisentraut <peter_e [at] gmx.net> am 20.08.2006:
> Sieht ganz nach falscher Locale aus.

Bei locate kann ich nur einen Wert angeben:

initdb -D /path/to/data --locale=3Dde_DE.UTF-8

Was ist aber wenn ich Russisch habe.


Andr=E9 Laugks



---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
choose an index scan if your joining column's datatypes do not
match
L-Andre [ Mo, 21 August 2006 00:56 ] [ ID #1438243 ]

Re: UTF8 und sortieren

Andr=E9 Laugks wrote:
> Bei locate kann ich nur einen Wert angeben:
>
> initdb -D /path/to/data --locale=3Dde_DE.UTF-8
>
> Was ist aber wenn ich Russisch habe.

Gibt es irgendwelche Anhaltspunkte, dass Russisch mit dieser Einstellung
falsch sortiert wird?

--
Peter Eisentraut
http://developer.postgresql.org/~petere/

---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster
Peter Eisentraut [ Mo, 21 August 2006 07:44 ] [ ID #1438244 ]

Re: UTF8 und sortieren

On 18.08.2006, at 17:54 Uhr, l-andre [at] gmx.de wrote:

> Nur wenn ich UTF8 nehme, haut das mit dem Sortieren der Umlaute nicht
> hin. Die Datenbank habe ich mit Encoding UTF8 angelegt.

Unter Linux ging das bei mir problemlos, wenn die Datenbank mit
korrektem Encoding und korrekter locale Einstellung angelegt war.

Unter BSD und Mac OS X geht es nicht - kein Support durch das OS.

cug

---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings
Guido Neitzer [ Sa, 19 August 2006 10:34 ] [ ID #1442911 ]
Datenbanken » gmane.comp.db.postgresql.german » UTF8 und sortieren

Vorheriges Thema: Rolle mit nur lesendem Zugriff...
Nächstes Thema: portierung nach oracle