Hallo zusammen,
ich habe das (wahrscheinlich bekannte) Problem, dass die Umlaute im Internet Explorer nicht richtig dargestellt werden, sondern als ö, ß, ü etc.
Nun habe ich bereits die letzten Stunden damit verbracht Beiträge und Infos im Internet durchzuforsten, um die Lösung dafür zu finden, jedoch ohne Erfolg bisher.
Das Problem habe ich ausschließlich im Internet Explorer und eben nur bei den Texten, die aus der Datenbank (über PDO) geladen werden.
Ich habe in den php Dateien jeweils immer am Seitenanfang die header.php inkludiert, in der die Angabe für utf-8 festgesetzt ist:
HTML-Code:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Die Zeichenkodierung des Editors ist ebenfalls auf UTF-8 festgelegt.
Die Kollation der Datenbanktabelle habe ich ebenfalls von latin_swedish_ci auf utf8_unicode_ci geändert, ebenso wie die Spaltenkollation.
Der PDO Befehl enthält ebenfalls uft-8:
Code:
$dsn = "mysql:host=localhost;dbname=xxx;charset=utf8";
$user = "xxx";
$pw = "xxx";
Nun bin ich ehrlich gesagt schon recht am verzweifeln, da mir nix mehr einfällt, woran es liegen könnte, da ja eigentlich alles auf utf-8 umgestellt ist. Es ist wie gesagt auch nur im IE der Fall, überall sonst klappt es wunderbar.
Komischerweise klappen die Ajax-Requests aber einwandfrei im IE, d.h. wenn ich über AJAX ein Dropdown-Menü hinzulade, das Umlaute enthält, werden die korrekt dargestellt. Hier habe ich bereits herausgefunden, woran das liegt:
Code:
header('Content-Type: text/html; charset=UTF-8');
Jedoch kann ich das ja nicht auch in meine Dateien einfügen, die bereits einen header inkludiert haben, da dann "headers already sent..." kommt.
Weiß hier jemand vielleicht Rat?
Ich wäre sehr dankbar für jegliche Hilfe!