Seite 1 von 1
Charset eines HTML-Documents ermitteln - wie zum Henker?
Verfasst: 29.01.2013, 18:18
von mof7
Ich hab da mal ne Frage. Zum Ermitteln des "character set" eines (X)HTML-Dokuments bieten sich meines Wissens 2 Möglichkeiten an:
1. Aus dem HTTP-Response-Header (z.B. "Content-Type: text/html; charset=UTF-8")
2. Aus dem (X)HTML-Dokument selbst (z.B. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
Nun stehe ich vor der Frage, welcher Angabe ggf. die höhere Priorität zuzugestehen ist - Nr. 1 oder Nr. 2.
Und wenn ja, warum?

Danke!
Verfasst: 29.01.2013, 20:00
von elmex
ich hab leider in der Praxis festgestellt, dass beides nicht immer stimmen muss. Manche Programmiersprachen versuchen automatisch das Encoding zu erkennen. Das funktioniert fast am besten...
Verfasst: 29.01.2013, 20:07
von mof7
meinste anhand des inhaltes oder wie?
ich hab jetzt mal via meines geliebten xampp getestet, was firefox und chrome tun, wenn die beiden angaben differieren. und zwar nehmen beide dann die header-angabe.
cheers.
Verfasst: 29.01.2013, 20:39
von Melegrian
Oft kommt es zu Fehlern, wenn zwar charset angegeben wird, doch das Dokument nicht entsprechend gespeichert bzw. vor dem Speichern entsprechend konvertiert wird.
Wollte vor wenigen Wochen jemanden bei einem Script helfen, da ging nichts. Irgendwie holte PHP ein Dokument zwar richtig ab und es konnte auch richtig angezeigt werden, doch sowie man mit DOM nur ein Element ausgeben wollte, kam es zu Fehlern bei Oberstrichen und so einem Zeug, egal welcher Zeichensatz verwendet wurde. Ich vermute nur, dass dies irgendwie mit der Libxml zusammenhängen muss oder an dem nicht wohlgeformten/validen Dokument lag, auf welches kein direkter Zugriff bestand. Jedenfalls hörte der Parser nicht auf wegen irgendwelcher Entity zu meckern. Schrieb das Script dann von DOM nach RegEx um, dann ging es.
Verfasst: 07.02.2013, 14:53
von pointguard
Ich hab mir eine eigene Intranet-Webseiten-Testing-Seite erstellt, ähnlich wie Seitenreport.de, nur umfangreicher und natürlich besser

... dabei habe ich die PHP PEAR-Package von w3Validator (
https://validator.w3.org/) hergenommen (
https://pear.php.net/package/Services_W ... redirected) ... und damit kriegst immer die richtigen Encodings raus
Falls fragen hast zur technischen Umsetztung dann gib Bescheid...
