Sven Rautenberg: Zeilenumbruch in title

Beitrag lesen

Moin!

Und warum verwendest du 'ä' statt 'ä'?

Weil es STÄNDIG Probleme mit Umlauten gibt (denke nur an die Sortier- Reihenfolge in Datenbanken, an Ex- und Import von Daten).

Dann ist deine Behandlung des Zeichensatzes nicht optimal.

Verwende UTF-8 und eine Datenbank, die damit was anfangen kann, also MySQL ab 4.1 aufwärts - dann kannst du die Sortierreihenfolge, genannt Kollation, festlegen. Für den deutschen Sprachraum gibts dort sogar verschiedene Kollationen:
1. latin1_german1_ci sortiert Ä als A, Ö als O, Ü als U und ß als s
2. latin1_german2_ci sortiert Ä als AE, Ö als OE, Ü als UE und ß als ss
Diese beiden benutzen latin1, also ISO-8859-1 als Encoding.
3. utf8_general_ci sortiert wie latin1_german1_ci.
4. utf8_unicode_ci sortiert wie latin1_german1_ci, aber das ß als ss.

Benannte Zeichen haben zwar den kleinen Vorteil, dass man sie, unabhängig vom Encoding direkt verstehen _kann_, aber gerade hinsichtlich der Sortierung sind sie ja nun alles andere als brauchbar. Im- und Export von Daten jedenfalls erfordern zwingend mindestens die stillschweigende Festlegung des Encodings für beide Seiten, viel lieber aber noch die direkte Kennzeichnung im Datenheader (wie auch immer der aussehen kann).

Da wollte ich zumindest bei der Darstellung in HTML keine Probleme haben mit welchen Browsern auch immer. Mein Editor hat ein Makro zum Umsetzen dieser Zeichen.

Entities zu benutzen ist durchaus sinnvoll, wenn man unabhängig vom Encoding die definierten Sonderzeichen benutzen will, bzw. wenn man eine Datenquelle hat, die unabhängig vom sie umgebenden Encoding immer funktionieren soll.

- Sven Rautenberg

--
My sssignature, my preciousssss!