Hallo Leute!
Brauche Eure Hilfe um folgendes richtig zu verstehen:
Wenn ich zum MySQL Server mittels eines PHP-Scripts verbinde und Text von einer Tabelle anfordere, dann erhalte ich ihn in der ISO-8859-1 Kodierung (so scheint es zumindest), obwohl der Text im UTF-8 Format in der Datenbank vorliegt (so hätte ich ihn auch gerne). Nun ist es ja so, dass es - laut Doku - auf 4 Ebenen (Server, Datenbank, Tabelle und Verbindung) standardmäßige Einstellungen gibt, was die Zeichensets und Kollationen betrifft. Aber irgendwie scheint das Eine das Andere zu übergehen, und nämlich auf verkehrte Weise. Ich hätte mir irgendwie gewünscht, dass die Einstellung auf Datenbank- bzw. Tabellenebene Vorrang gegenüber den Einstellungen der Server- bzw. Verbindungsebene hätte. Momentan umgehe ich die anfangs beschriebene Problematik, indem ich den MySQL-Server nach jedem Verbindungsaufbau anweise nachträgliche Datenanforderungen im UTF-8 Format zu senden. Das mach' ich so:
mysql_query("SET CHARACTER SET utf8");
$result = mysql_query("SELECT Text FROM Tabelle WHERE ID = '$id'");
Irgendwie werde ich nicht schlau aus dem Ganzen hier. Für mich ist es sehr wichtig zu wissen wie sich MySQL auf fremden Servern (also Webspace-Anbietern) verhalten wird. Dort werde ich wohl kaum Zugriff auf die Konfigurationsdatei haben, oder?