Warum deaktiviert Firefox für einige Websites das Menü "Zeichenkodierung"?

16

Bei einigen Websites ist mir aufgefallen, dass das Firefox-Menü "Ansicht / Zeichenkodierung" deaktiviert ist. Warum?

Ist es möglich, es zu aktivieren?

Calmarius
quelle
Ein Beispiel für eine solche Site ist haszon.hu .
Calmarius
Möglicherweise im Zusammenhang mit dem Fehler 832910 , bei dem das Codierungsmenü auf bestimmten Websites deaktiviert werden muss, um Exploits zu verhindern (dieses ist Android-spezifisch und ungelöst; ich suche nach dem Desktop-Äquivalent).
Bob

Antworten:

16

Dies liegt an der Korrektur für das Menü Fehler 234628 , Ansicht deaktivieren > Zeichenkodierung, wenn es keine Auswirkungen hat / nicht erforderlich ist (z . B. XML) .

Insbesondere, wenn Sie sich Kommentar Nr. 63 ansehen :

Für den Fall, dass eine UTF-8-Stückliste vorhanden ist, ist es sinnvoll, die Stückliste Vorrang vor dem Menü zu haben

Die Stückliste wird verwendet, um die Reihenfolge der Bytes in einem Unicode-codierten Dokument zu identifizieren.

Die angegebenen Gründe können wie folgt zusammengefasst werden:

  • Gecko (die Rendering-Engine von Firefox) unterstützt keine andere Codierung, die eine Stückliste als gültigen HTML-Start ( <htmloder <!DOCTYPEusw.) rendern würde .

  • Andere gängige Browser (IE6 +, WebKit-basiert [Chrome usw.]) machen dasselbe. Wenn Sie beispielsweise versuchen, die Codierung in Chrome zu ändern, wird sie einfach auf UTF-8 zurückgesetzt.

  • Andernfalls kann die Formulareingabe möglicherweise durcheinander gebracht werden.


Die von Ihnen bereitgestellte Beispielseite beginnt mit den drei UTF-8-Stücklistenbytes. Sie können dies sehen, wenn Sie die Seite speichern und die HTML-Datei in einem Hex-Editor öffnen. Die Stückliste identifiziert es eindeutig als UTF-8-Dokument, und das Öffnen in einer anderen Codierung würde keine korrekte HTML-Seite ergeben.

Screenshot des Hex-Editors mit Stückliste

Sie können die 0xEF 0xBB 0xBFStückliste links sehen, wie auf Wikipedia beschrieben . Rechts wird angezeigt, wie es beim Rendern als ANSI / CP1252 aussieht .

Wenn Sie wirklich möchten, können Sie die Datei speichern, die fehlerhafte Stückliste entfernen und die Datei öffnen. Oder Sie können einen Proxy einrichten (Fiddler2 ist dafür gut geeignet), der die Dateien abfängt und ändert, bevor sie in Ihren Browser gelangen. Dies sind jedoch keine wirklich guten Lösungen und führen wahrscheinlich nur zu weiteren Problemen. Wenn Sie Probleme mit der Codierung haben, wenden Sie sich am besten an den Website-Betreuer. Wir sollten alle nach Möglichkeit auf Unicode umsteigen und nicht die älteren und eingeschränkteren Codierungsstandards verwenden.

Bob
quelle
-1

Es ist wahrscheinlich ein Fehler. Chrom hatte vor Jahren ein ähnliches Problem .

D Schlachter
quelle
2
Es ist kein Fehler. Es war völlig beabsichtigt . Beachten Sie, dass laut diesem Kommentar das Menü in Chrome auf ähnlichen Seiten keine Auswirkung hat (und ich habe gerade getestet, dass es in aktuellem Chrome auf UTF-8 zurückgesetzt wird, wenn Sie versuchen, es zu ändern).
Bob