Hallo!
Kann mir jemand erklären wie der html meta tag
oder
funktioniert oder funktionieren soll? Denn die Browser Firefox und Opera funktionieren nicht so wie ich es erwarte.
Im Detail:
Rufe ich die Seiten direkt auf, dann stehen die obigen html header im Quelltext und die http-header sind
Schreibe ich nun ein PHP-Skript und hole die Seiten mit curl und gebe sie dann mit 'echo' wieder aus, werden die Sonderzeichen nicht korrekt angezeigt! (Das PHP-Skript wird von XAMPP ausgeführt, wenn ich localhost aufrufe.) Erst wenn ich im http-header auch den korrekten charset (
Nun meine Fragen:
1) Wofür sind die html header da, wenn die Browser sie bei fehlender Angabe im http header nicht nutzen?
2) Warum stellen die Browser die Sonderzeichen bei Direktaufruf korrekt dar und über mein Proxyskript aufgerufen, nicht?
3) Welche Kriterien gibt es überhaupt und wie ist deren Priorität, nach denen ein Browser entscheidet wie er die Seiten anzeigt?
Vielen Dank!
Kann mir jemand erklären wie der html meta tag
<meta http-equiv="Content-Type"
content="text/html; charset=windows-1252">
oder
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1"/>
funktioniert oder funktionieren soll? Denn die Browser Firefox und Opera funktionieren nicht so wie ich es erwarte.
Im Detail:
Rufe ich die Seiten direkt auf, dann stehen die obigen html header im Quelltext und die http-header sind
Content-Type: text/html
. Wohlgemerkt ohne Charset-Angabe, aber die Seiten werden bei mir korrekt angezeigt.Schreibe ich nun ein PHP-Skript und hole die Seiten mit curl und gebe sie dann mit 'echo' wieder aus, werden die Sonderzeichen nicht korrekt angezeigt! (Das PHP-Skript wird von XAMPP ausgeführt, wenn ich localhost aufrufe.) Erst wenn ich im http-header auch den korrekten charset (
header("Content-Type: text/html; charset=iso-8859-1");
) angebe, werden die Sonderzeichen auch über mein Skript korrekt angezeigt. Das einfache durchreichen der original Header reicht nicht aus.Nun meine Fragen:
1) Wofür sind die html header da, wenn die Browser sie bei fehlender Angabe im http header nicht nutzen?
2) Warum stellen die Browser die Sonderzeichen bei Direktaufruf korrekt dar und über mein Proxyskript aufgerufen, nicht?
3) Welche Kriterien gibt es überhaupt und wie ist deren Priorität, nach denen ein Browser entscheidet wie er die Seiten anzeigt?
Vielen Dank!