Firefox - Warum werden Seiten beim Speichern verfälscht?
Gelegentlich werden HTML-Seiten, die mit der Firefoxfunktion 'Seite speichern unter ...' abgespeichert sind, beim erneuten (Offline-) Aufruf anders angezeigt, z. B. mit verfälschten Umlauten.
Um die Ursache zu analysieren, habe ich eine solche Seite untersucht.
Online zeigt der Browser mit der Funktion 'Quelltext' u. a. die folgenden Zeilen (in der Darstellung sind die spitzen Klammern für Tag-Anfang und -Ende durch geschweifte ersetzt, damit die Zeilen unterwegs nicht als HTML-Zeilen interpretiert werden können):
{meta http-equiv="content-type" content="TEXT/HTML; CHARSET=UTF-8" /}
{link rel="stylesheet" href="../css/style.css" type="text/css" /}
{td colspan="3" class="ueberschrift"}Informationen zu einigen Zeichensätzen{/td}
Für die Seite ist also der Zeichencode UTF-8 vorgesehen (Zeile 1), die Umlaute sind aber in HTML-Code codiert (Zeile 3). Ich denke, dass dies zulässig ist.
Seite speichern unter ...; Wideraufruf mit Browser, dann zeigt 'Quelltext':
{meta http-equiv="content-type" content="TEXT/HTML; CHARSET=UTF-8"}
{link rel="stylesheet" href="zeichensatz-Dateien/style.css" type="text/css"}
{td colspan="3" class="ueberschrift"}Informationen zu einigen Zeichens?tzen{/td}
Beim Speichern wurden also verändert:
- Die Tag-Ende-Codierung von ' />' in '>' (alle Zeilen). Das ist nicht bei allen Versionen zulässig, soll hier aber nicht weiter betrachtet werden, weil es keine erkennbaren Auswirkungen zeigt.
- Der link für die zur Seite gehörenden Dateien ist verändert (Zeile 2). Das ist notwendig, damit diese Dateien beim Aufruf der gespeicherten Seite wieder (im dafür eingerichteten Verzeichnis) gefunden werden.
- Die HTML-Umlautcodierung ist geändert, dort steht jetzt ein Fragezeichen (Zeile 3). Mit DEBUG nachgesehen steht jetzt für ä Code E4. Das ist die Codierung nach ANSI (Code Page 1252).
Diese Änderung führt nun dazu, dass die Darstellung beim erneuten Aufruf falsch wird! Der Browser verwendet für die Decodierung UTF-8 (nach Zeile 1) und da hat Code E4 keine Bedeutung, was durch ein Fragezeichen dargestellt wird 'Zeichens?tze'. Das ist ebenso bei der Anzeige des Quelltextes. (Beim Aufruf mit dem HTML-Editor Phase 5 steht dort wieder ein ä, dieser beachtet also bei der Ausgabe des Quelltextes die Code-Vorschrift UTF-8 nicht.)
So stellt sich die Frage, warum Firefox die Codierung beim 'Seite speichern unter ...' verändert?
Allgemeiner gefragt: Wie gehen Browser und HTML-Editoren mit den Zeichencodierungen um?
Und spezieller gefragt: Gibt es eine Methode zum Speichern ganzer HTML-Seiten, die in dieser Hinsicht fehlerfrei ist?
Anmerkung 1: Ich meine hier nicht das Speichern ganzer Websites wie z. B. mit HTTrack, sondern das Speichern einer HTML-Seite, d. h. einer HTML-Datei zusammen mit den unmittelbar in der Seite wirksamen 'gelinkten' Dateien. (Leider werden dabei gelegentlich auch die 'externen', nur außerhalb der Seite wirksamen links mit geändert.)
Anmerkung 2: Ein weiteres, ebenso interessantes Thema wäre die Frage nach einer originären Abspeicherung von HTML-Seiten mit externer CSS-Formatierung. Bei derartigen Seiten wird oft die Formatierung nicht mit gespeichert, was zu einer sehr schlechten Darstellung führt. Man vergleiche hierzu z. B. die Darstellung einer Wikipedia-Seite bei Offline-Aufruf aus dem gespeicherten Zustand.
Dieter Oechsle