Hi,
jetzt wurde mir hier neulich geraten für die Zeichendatenübertragung - also für ein Forum - folgenden Header in PHP zu benutzen:
header("Content-Type: text/html; ccharset=ISO-8859-1");es gibt aber die gleiche Angabe auch in HTML:
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
- bewirken die Angaben das gleiche? und wenn nein: was ist der Unterschied?
Nein. header(...) ist für alle Typen von Ressourcen geeignet. <meta...> aber nur für HTML.
Die header-Funktion schreibt den String in den http-header, der noch vor der eigentlichen Ressource (z.B. HTML-Seite) übertragen wird.
Wenn Dein PHP aber beispielsweise eine Text-Datei ausgeben soll, MUSS die header-Funktion benutzt werden, um den content-type auf text/plain zu setzen, da im einfachen Text ja kein meta möglich ist.
Abgesehen davon bewirken Deine Beispiele auch schon deshalb nicht das gleiche, wei das PHP-Beispiel kein charset definiert (nur ein ccharset ;-) )
Ansonsten bewirkt die meta-Angabe __für HTML-Ressourcen__ das selbe wie die PHP-header-Funktion
- wenn man ein Frameset mit Seiten drin hat, muß '<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">' im Head des Frameset stehen oder in den jeweiligen Seiten oder beides oder egal?
Sowohl die header-Information von PHP als auch die meta-Elemente im HTML gelten jeweils nur für die eine Ressource.
HTTP (das Übertragungsprotokoll) ist zustandslos, die Übertragung der Frameset-Ressource hat keinerlei Zusammenhang mit der Übertragung der im Frameset dargestellten Ressourcen.
cu,
Andreas
Der Optimist: Das Glas ist halbvoll. - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.