Seit heute haben wir auf dem
keks MySQL 5.0 im Einsatz. Zuerst sah alles gut aus, dann haben wir aber bemerkt, dass Umlaute
manchmal (genauer: in manchen Webanwendungen) korrekt (als UTF-8), meistens aber falsch (latin1) codiert geliefert werden.
Nun, der Fehler hat uns nen halben Tag gekostet, aber das Problem ist geflickt (ich will es nicht »gelöst« nennen).
Und zwar war MySQL vorher (vor 5.0) einfach inkonsequent, es hat Daten angenommen und Daten ausgeliefert, allerdings nicht auf den charset geachtet. D.h. wenn man die Daten als latin1 eingespielt hatte und mit latin1 wieder ausgelesen hat, dann hat alles gepasst, wenn nicht, dann halt nicht. Offenbar kann das aktuelle MySQL nun mit verschiedenen charsets korrekt umgehen, allerdings erfordert es dafür
zwingend die Angabe des Charset. Und zwar muss man nun nach dem Aufbau der Verbindung erstmal das folgende Kommando absetzen um UTF-8 zu bekommen:
SET NAMES utf8;
phpMyAdmin und MediaWiki scheinen das zu machen, fast alle andere Software nicht.
Als Workaround kann man das da in die [msqld]-Section der my.cnf setzen:
init-connect='SET NAMES utf8'