Hi, ich habe eine Website im UTF-8-Format. D. h. alle Dateien wurden im UTF-8-Format gespeichert und im Header steht jeweils <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
Einige Inhalte werden aus der Datenbank (kurz DB) gelesen. Die DB ist allerdings auf "latin1" eingestellt und lässt sich nicht ohne weiteres umstellen. In der Datenbank selbst werden die anzuzeigenden Daten mit deutschen Anführungszeichen laut phpMyAdmin korrekt gespeichert, z. B. Ferienhaus „Morgenschein“. Wenn ich die Daten auslese und kein utf8_encode verwende, werden Fragezeichen statt der deutschen Anführungszeichen angezeigt (Ferienhaus ?Morgenschein?). Verwende ich utf8_encode, werden die deutschen Anführungszeichen nicht mehr angezeigt. Im Firefox werden sie gar nicht angezeigt und im IE wird stattdessen eine zusätzliche leere Stelle angezeigt. html_entities und html_specialchars bringen es nicht und mit str_replace wüsste ich jetzt auch nicht, was ich ersetzen sollte. iconv hab ich auch schon ausprobiert. iconv("UTF-8","ISO-8859-1", $var) liefert mir "Detected illegal character in input string in...". Andersherum passiert nix.
Gibt es vielleicht noch eine andere Möglichkeit? Vielleicht ein eigenes Skript, dass die Zeichen mit str_replace ersetzt? Damit wäre mir schon geholfen, aber ich weiß nicht, wie ich die Zeichen ersetzen kann.