Hi!
Schau im PMA auf der Seite "MySQL-System-Variablen anzeigen" die Werte für "character set ..." an, speziell für client, connection und results und da jeweils die globalen Werte (wenn angezeigt).
haracter set client utf8
(Globaler Wert) latin1
character set connection utf8
(Globaler Wert) latin1
character set results utf8
(Globaler Wert) latin1
Sag ich ja, MySQL nimmt zu deiner Verbindung an, sie laufe mit Latin1. Das ist dein Problem.
Stell einfach ganz konkret deine Verbindung so ein, wie dein Client sie braucht. Verlass dich nicht auf irgendwelche Defaultwerte.
mysql_set_charset() fällt für mich leider aus, da php 5.xx benötigt wird, mein provider dies aber nur als cgi-version(?) anbietet ...
CGI oder nicht ist keine Frage der Version. Wenn dein Hoster kein PHP 5 anbietet, solltest du ihn wechseln. PHP 4 ist schon seit einer ganzen Weile eingestellt. Mitunter ist es jedoch nur eine Frage der Konfiguration, dass man sein Paket oder bestimmte Verzeichnisse so umkonfiguriert, dass PHP5 verwendet wird. Frag mal die Support-Seiten deines Hosters oder ihn selbst.
Wenn dir nun immer noch kein mysql_set_charset() zur Verfügung steht, dann gibt es noch die Variante, ein SET NAMES-Statement nach dem Verbindungsaufbau abzusetzen. Die ist nicht ganz so perfekt wie die genannte Funktion, aber für Latin1/ISO-8859-1 und UTF-8 problemlos verwendbar.
Lo!