Axel Richter: Stringsortierung von Javascript und MySQL

Beitrag lesen

Hallo,

Wenn ich aber z.B. nach mir selber suche (rené) habe ich auf dem letzten e ein ´ drauf. Laut MySQL juckt das ´

Ja, MySQL hat eine entsprechend angepasste Sortierroutine. Normalerweise ist es nämlich genau so, wie Du beschrieben hast, nur dass es sich nicht um ASCII-Code handelt, sondern um charset=ISO-8859-1. ASCII-Code kennt nur Zeichen zwischen %00 und %7F (0-127).

Bei der Suche ist es ähnlich, wie beim Sortieren.

FRAGE:Was kann man da machen, damit die Suche dennoch klappt?

Nutze ein Array http://de.selfhtml.org/javascript/objekte/array.htm und passe eine Array.sort(umlautSort)-Funktion http://de.selfhtml.org/javascript/objekte/array.htm#sort so an, dass die Funktion umlautSort(a, b) vor dem Vergleich der Werte a und b mit Hilfe von String.replace() http://de.selfhtml.org/javascript/objekte/string.htm#replace alle /ä/ durch "ae", alle /ö/ durch "oe", alle /ü/ durch "ue", alle /ß/ durch "ss", alle /é/ durch "ee", ... ersetzt.

Nach dem Sortieren hast Du ein unter Beachtung der Umlaute sortiertes Array.

Für Deine Suchmethode musst Du ähnlich vorgehen, also "René" suchen und im Weiteren wie "Renee" betrachten.

viele Grüße

Axel