kills Geschrieben 23. Juli 2005 Teilen Geschrieben 23. Juli 2005 Hallo zusammen, ich habe eine Seite mit folgendem Header: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="pl"> <head> <title>Redaxo-Demo - Modu³y</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" /> <meta http-equiv="Content-Language" content="pl" /> <link rel=stylesheet type=text/css href=css/style.css /> <script language=Javascript src=js/standard.js></script> <script language=Javascript> <!-- var redaxo = true; //--> </script> </head> Diese Seite wird aus PHP generiert und an den Browser geschickt. Dieser stellt leider die polnischen Sonderzeichen trotz angabe des entspr. Charsets falsch dar. Wenn ich die Seite nun "speichern unter" und direkt in meinen Browser ziehe, dann gehts... Wo liegt mein Problem? Bin dankbar für alle Tipps. Gruß, Markus Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
perdian Geschrieben 23. Juli 2005 Teilen Geschrieben 23. Juli 2005 Dieser stellt leider die polnischen Sonderzeichen trotz angabe des entspr. Charsets falsch dar.Wird eventuell noch zusätzlich der HTTP Header Content-Type gesetzt? Wenn das der Fall ist ignoriert der Browser gerne mal die Angabe innerhalb der Seite und gibt dem Header den Vorzug. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
~Hawkeye~ Geschrieben 24. Juli 2005 Teilen Geschrieben 24. Juli 2005 Wenn Du Dir den Quellcode der Seite ansiehst, sind da schon vor dem Doctype Ausgaben wie ein Absatz oder ähnliches? Vieleicht hat der Browser auch ein Problem mit gemisch aus XHTML und HTML. Also <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" /> im XHTML und <link rel=stylesheet type=text/css href=css/style.css /> wieder als HTML. <link rel="stylesheet" type="text/css" href="css/style.css"> wäre valides HTML. Wird aber wahrscheinlich am ersteren liegen. Den Internet Explorer sollte das Gemisch nicht groß stören. Vielmehr sollte da ein Header, der von php an den Browser gesendet wird und somit der HTML- Header ignoriert, Probleme machen. Abhilfe wäre das Entfernen aller Leerzeichen und Absätze im php, was aber dann zu einem sehr "übersichtlichen" Code führt oder aber verhindern, dass ein Header gesendet wird. Damit der Header erst gesendet wird, wenn die Seite komplett geladen wird, gibt es die Befehle ob_start zum Einschalten des Bufferings und ob_flush zum leeren des Buffers bzw. senden der abgearbeiteten Seite. Ein anderer Weg wäre das Senden eines entsprechenden header() im php. Der sollte nur, wie viele anfangs falsch machen, vor jedweder Ausgabe an den Browser gesetzt werden. Selbst eine Leerzeile gillt als Ausgabe. Fatzit: Valider HTML- Code ist für das Auge schöner. Der 2. und 3. Lösungsweg sollten das Problem auf jeden Fall beheben wobei der 3. wohl einfacher zu implementieren ist. Ich hoffe ich konnte Dir weiterhelfen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 25. Juli 2005 Autor Teilen Geschrieben 25. Juli 2005 Hi, Das mit dem Header usw war mir bewusst. Das Rätsels Lösung war folgendes: header('Content-Type: text/html; charset=charset=iso-8859-2'); [/PHP] Der Webserver hat wohl von sich aus einen Charset selbst mitgeschickt, den ich hiermit wieder überschrieben habe. Destotrotz, danke für die Hilfe. Gruß, Markus PS: Die Leerzeile vorm Doctype ist nur hier im Forum, im Quelltext war diese nicht... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.