Probleme bei Zeichensatz

Sasser

Erfahrenes Mitglied
Guten Abend.

Ich habe bisher eine Webseite im iso-8859-1 Format betrieben. Die Datenbank selbst war auf utf8_general_ci eingestellt.

Nun habe ich nach der folgenden Anleitung die PHP-Dateien ins UTF-8 Format umgewandelt und den Zeichensatz geändert: Anleitung

Obwohl die Datenbank ebenfalls auf UTF-8 eingestellt ist und die Daten auch ohne Fehler vorhanden sind, wird auf der Webseite anstatt der Umlaute ein Fragezeichen dargestellt.

Mit dem Rettungstrick aus der Anleitung, nach welcher man bei jeder Verbindung:

PHP:
mysql_query("SET NAMES 'UTF8'");

ausführen soll, bin ich nicht einverstanden, da es eben nichts Halbes und nichts Ganzes ist.

Kennst jemand das Problem, bzw. kann mir jemand helfen das Problem in den Griff zu bekommen?

Vielen Dank!
 
(A) ist der html/php-Sourcecode mit UTF8 ohne BOM gespeichert?
(B) ist im html-Header eine charset-Angabe?
(C) Wenn Du die Seite via Browser öffnest, ist sie dann 100%ig mit UTF8-Charset dargestellt?

Kurzum, kannst Du 100% sagen, welcher Teil den Fehler hervorruft?

(D) Testweise mit utf8_encode() on the fly die DB-Daten umgewandelt?

mfg chmee
 
(A) Ja ist er.
(B) Der Charset ist im HTML-Header angegeben.
(C) Ja.

Ich denke, dass der Fehler an der Datenbank liegt. Denn wenn ich nach der DB-Verbindung folgendes mache:

PHP:
mysql_query("SET NAMES 'UTF8'");

werden die Umlaute korrekt dargestellt.
 
Ich habe nun noch ein wenig gesucht und das Problem scheint warscheinlich daran zu liegen, dass mein Server grundsätzlich SQL nicht in UTF-8 ausgibt.

Somit wird mir nichts anderes übrig bleiben, bei jeder Verbindung dem Server mitzuteilen dass in UTF-8 kommuniziert werden soll.

Hat jemand das gleiche Problem?
 
Zurück