FYI: (Lösung) mysql-Probleme mit Umlauten

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
R. U. Serious
Mitglied
Beiträge: 153
Registriert: 11.10.2003 12:33
Kontaktdaten:

FYI: (Lösung) mysql-Probleme mit Umlauten

Beitrag von R. U. Serious »

Dieser Beitrag ist als zukünftige Referenz gedacht.

Bei dem Umzug auf einen Managed-Server von 1und1 gab es Probleme bei der richtigen Nutzung von Umlauten.

Symptom: Obwohl Umlaute richtig gespeichert und richtig angezeigt wurden, wurden bei Vergleichen (z.B. mit LIKE), Umlaute und Vokale gleich behandelt. u=ü, ä=a, ö=o.

Folgen: Wenn also verschiedene User (fast) den gleichen Namen hatten, der sich nur durch Umlaute unterschied, bspw.: "Munster und Münster", konnte sich der zweite User nicht mehr anmelden, man konnte auch nicht mehr sein Profil editieren usw..

Test: Um zu überprüfen ob man das Problem hat, kann man folgende Abfragen ausführen. Als Ergebnis sollte nur eine Zeile angezeigt werden, werden beide angezeigt, dann ist man vom Problem betroffen:

Code: Alles auswählen

CREATE TABLE `test` (
	`name` VARCHAR( 10 ) NOT NULL
);
INSERT INTO `test` ( `name` ) VALUES ('Munster');
INSERT INTO `test` ( `name` ) VALUES ('Münster');
SELECT * FROM `test` WHERE name LIKE 'Munster'
Workaround: Man erzwingt einen BINARY Verlgleich bei jeder Abfrage, oder (natürlich leichter) man ändert das Attribut der Spalte "username" in BINARY. Letzteres geht mit folgender Abfrage:

Code: Alles auswählen

ALTER TABLE `phpbb_users` CHANGE `username` `username` VARCHAR( 25 ) BINARY NOT NULL 
Nebenwirkung: Die Eingabe von Usernamen unterscheidet nun auch noch nach Groß- und Kleinschreibung.
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“