Hi!
Erklärt hab ich es ja schon, nun solltest du die Stelle suchen, an der du vergessen hast, die Kodierung/Kollation selbst festzulegen.
ich finde die Stelle nicht und Abhilfe schafft anscheinend nur, dass ich über set names die Verbindung auf utf-8 setze.
Warum gerade DAS hilft, dazu hattest Du leider noch nichts gesagt.
Du darfst nicht davon ausgehen, dass alles per Default so eingestellt ist, wie du es brauchst. Du musst dich um jede Stelle selbst kümmern. Wichtig sind üblicherweise die Angaben zu den Feldern und die der aktuellen Verbindung (mysql_set_charset() - oder SET NAMES als Ersatz mit den genannten/gesehenen Nachteilen).
Da du Probleme mit der Kollation hast, musst du auch diese beachten.
SHOW VARIABLES LIKE 'collation%';
Schau dir die Werte von den auf _client und _connection endenden Variablen an. Weiterhin ist für deine temporäre Tabelle die Kollationsangabe deiner geöffneten Datenbank von Interesse, wenn du keine Feldkollationen selbst festlegst.
Wenn es da irgendwelche Differenzen gibt, beseitigst du diese am besten. Notfalls, indem du genannten Variablen für deine aktuelle Session umstellst. (mysql_set_charset() oder SET NAMES beeinflussen ja nur die Kodierung.)
Lo!