MudGuard: MYSQL und REPLACE für Umlaute

Beitrag lesen

Hi,

ich möchte gerne die Umlaute bei der Eingabe in die DB so ändern, dass eine spätere Sortierung korrekt angezeigt wird. Dazu habe ich in der DB zum Feld nachname ein weiteres Feld nachnamesort hinzugefügt. Beim Eintrag habe ich dann folgenden Code:

$nachnamesort="REPLACE ( REPLACE ( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE $nachname, 'Ä', 'Ae') , 'Ö', 'Oe'), 'Ü', 'Ue'), 'ä', 'ae'), 'ö', 'oe'), 'ü','ue'), 'ß', 'ss')";

Sicher kann man das auch von MySQL erledigen lassen.
Ich würde das aber schon vorher machen lassen - Du verwendest ja irgendeine Scriptsprache außenrum (PHP? Perl?).

Hast Du auch bedacht, daß es Namen geben könnte mit Akzenten?
Allein die 3 aus dem französischen stammenden Accent Grave, Accent d'aigu, Accent circonflex ergeben 15 weitere, nochmal 2 für die cedille.
Im spanischen gibt es dann noch die Tilde (mindestens auf dem n),
in slawischen Sprachen noch auf diversen Buchstaben den umgedrehten Circonflex, in nordischen Sprachen noch diverse Kringel und durchgestrichene Buchstaben usw.

Da kommen noch haufenweise replace-Teile dazu...

Der eigentliche Fehler in obigem Code dürfte sein, daß die '' um $nachname fehlen.

Andreas