phpbar.de logo

Mailinglisten-Archive

RE: Umlaut/Nicht-Umlautvergleich, Hammer gleich Hämmer? Wie das?

RE: Umlaut/Nicht-Umlautvergleich, Hammer gleich Hämmer? Wie das?

Michael Donning donning at informenta.de
Mit Mai 26 17:46:41 CEST 2004


Hallo Sebastian,

vielen Dank für die Tipps.

> -----Original Message-----
> From: Sebastian Mendel [mailto:lists at sebastianmendel.de]
> Michael Donning wrote:
>
> > ich hab hier beim Umstieg von Mysql 3 nach MySql 4 so ein
> kleines Problem.
> >
> > Bei Mysql 4.0.16-Max ergibt folgende Abfrage TRUE bzw 1:
> > Select 'Hammer'='Hämmer';
>
> also, was ich sagen wollte, du musst als Attribut für die Spalte BINARY
> angeben!
>
> http://www.mysql.com/doc/en/CHAR.html
>
> beim vergleichen kannst du auch sagen das BINARY-Safe verglichenw
> erden soll
>
> http://www.mysql.com/doc/en/Case_Sensitivity_Operators.html
>

Das ist alles richtig. Das mit dem Binary hatte ich auch gedacht. Bisher
glaubte ich aber das gilt nur, wenn man einen Schlüssel bzw. Vergleich Case
Sensitive haben möchte.

So muß ich extra deswegen die bestehende Anwendung umprogrammieren.
Insbesondere die Suche die bisher automatisch Case Insensitive ist, muß ich
nun abwandeln (UPPER Funktion) und hoffen, daß die Performance nicht zu
stark leidet.

Den client-Charset scheint mysql in dieser Beziehung zu ignorieren (wird
erkannt aber da kann ich auch dänisch oder latin1 einstellen und 'A' bleibt
gleich 'Ä'). Und den default charset vom Server kann ich nicht ändern. Da
die DB (unter anderem) auf einem sogenannten "managed server" läuft.

Hier nochmal der link der bestätigt, daß MySql einem manchmal ein X für ein
O vormachen kann (wenn der charset/die collation dies vorsieht):
http://www.mysql.com/doc/en/Charset-we-sets.html

Und noch ein link, mit interessanten Kommentaren:
http://www.mysql.com/doc/en/German_character_set.html

Grüße,
Michael Donning


php::bar PHP Wiki   -   Listenarchive