Hallo!
Ich habe einen MySQL Server der Version 4.1 und folgende Problematik:
Ich habe eine Tabelle `user` mit Benutzernamen drin. In dieser Tabelle gibt es auch User mit Umlauten. Bisher war es kein Problem und lief in der 3.23.x-Version auch alles einwandfrei. Nach dem Update kam es jedoch vor, dass sich nach dem User "Bömmel" auch ein User "Bommel" registriert hat. Dieser kann jedoch keine Mails empfangen, also suchte ich nach dem Fehler: Es ist ansich alles soweit in Ordnung, es wird mit folgendem Befehl die UID ausgelesen (als Mail-Empfänger):
Code:
SELECT `UID` FROM `user` WHERE `username`='Bommel' LIMIT 0, 1
Falsch daran ist garnichts. Ich habe also mal die Abfrage genommen und im phpMyAdmin ausgeführt. Dabei habe ich dann die UID vom User "Bömmel" erhalten, anstelle von "Bommel". Ohne "LIMIT 0, 1" gab er mir dann beide User aus ("Bömmel" und "Bommel"). Somit war klar, warum jedesmal die UID von "Bömmel" ausgegeben wurde: Er steht in der Tabelle "vor" "Bommel".
ABER: Warum sucht MySQL nun beim Suchstring "`username`='Bommel'" auch den User "Bömmel" raus? ich habe in der Doku zu MySQL leider nur gefunden, dass ab der Version 4.0 mit latin_de Die Sortierung korrekt ausgeführt wird (mit deutschen Umlauten). Ich vermute daher, dass da irgendwo der Hund begraben liegt!? Wie kann ich es jetzt wieder so machen, dass er nur "Bommel" ausliest und nicht beide User? Hat jemand das selbe Problem schon gehabt und eine Lösung gefunden?
Danke schonmal im Voraus