Am Sonntag, 21. August 2005 22:11 schrieb Dieter Kluenter:
(...). Gut, es gibt kein HyperText Markup Language 'Protokoll', sondern HTML ist nur ein Subset von SGML. d.h. es gibt nur Empfehlungen und Richtlinien. RFC1866, in der HTML 2.0 beschrieben wird, sspricht sinngemäss davon, dass iso-8859-1 und iso-10646 unterstützt wird,
Soweit ich das verstehe ist nach 4.1. für "HTML over HTTP" iso-8859-1 der default.
dass aber empfohlen wird, nur die ersten 7 Bit der Zeichensätze zu verwenden, darüber hinaus gehende Zeichen durch 'Special Character' darzustellen. Die RFC Spricht auch davon, dass der Zeichensatz des Dokumentes unabhängig ist von dem Zeichensatz der Darstellung. (1.2.1 Documents)
Bei HTML 4 sieht das so aus: http://www.w3.org/TR/html4/charset.html#didx-character_encoding
Sicherlich hat Helga ihre Dokumente durch Quanta versaut, aber das Hauptproblem liegt darin, dass sie 8 Bit Zeichen nicht durch Special Characters darstellt und dadurch in den Konflikt zwischen iso-8859-1 und UTF-8 bei der Darstellung gerät.
Sie hätte sich den Ärger durch entities ersparen können, ja. Aber es spricht nichts dagegen Latin1 oder UTF8 zu benutzen solange man diesen Zeichensatz dann auch deklariert. Außer der Webserver schickt einen gegenteiligen Content-Type mit, der auch im HTML-Dokument nicht überschrieben werden kann (siehe Liste unter http://www.w3.org/TR/html4/charset.html#h-5.2.2). Naja, jetzt hat sie den Salat und bei dem Zeichensatzwirwar wird sie die 8-Bit-Zeichen nicht einfach durch deren entities ersetzt bekommen, bevor sie den Zeichensatz ihrer HTML-Dokumente festgestellt hat. Und das sollte praktisch mit dem von mir gefundenen perl-Einzeiler zu bewerkstelligen sein, weil UTF-8 eine bestimmte Syntax voraussetzt, die ein Latin1-Dokument normalerweise nicht aufweist. Gruß, Jan -- No man's life, liberty or possessions are safe while the legislature is in session.