Perché Firefox disabilita il menu "Codifica caratteri" per alcuni siti?


16

Per alcuni siti Web ho notato che il menu "Visualizza / codifica caratteri" di Firefox è disabilitato, perché?

È possibile abilitarlo?


Un esempio per uno di questi siti è haszon.hu .
Calmarius,

Possibilmente correlato al bug 832910 , che richiede che il menu di codifica sia disabilitato su alcuni siti per prevenire exploit (quello è specifico per Android e non risolto; sto cercando l'equivalente desktop).
Bob,

Risposte:


16

È dovuto alla correzione del bug 234628 , Disabilita il menu Visualizza> Codifica caratteri quando non avrà effetto / non è necessario (ad es. XML) .

In particolare, se si osserva il commento # 63 :

Per quanto riguarda il caso in cui è presente una DBA UTF-8, ha senso lasciare che la DBA abbia la precedenza sul menu

La distinta componenti viene utilizzata per identificare l'ordine dei byte in un documento con codifica Unicode.

Le ragioni fornite possono essere riassunte come:

  • Gecko (il motore di rendering di Firefox) non supporta alcuna altra codifica che renderebbe una DBA come un inizio HTML valido ( <htmlo <!DOCTYPEecc.).

  • Altri principali browser (IE6 +, basato su WebKit [Chrome, ecc.]) Fanno la stessa cosa. Ad esempio, se provi a modificare la codifica su Chrome, viene ripristinato su UTF-8.

  • In caso contrario si potrebbe potenzialmente incasinare l'input del modulo.


La pagina di esempio fornita inizia con i tre byte DBA UTF-8. Puoi vederlo se salvi la pagina e apri il file HTML in un editor esadecimale. La BOM lo identifica positivamente come documento UTF-8 e aprirlo in qualsiasi altra codifica non produrrebbe una pagina HTML corretta.

Schermata dell'editor esadecimale che mostra la DBA

Puoi vedere la 0xEF 0xBB 0xBFDBA sulla sinistra, come descritto su Wikipedia . A destra, mostra come appare quando viene visualizzato come ANSI / CP1252 .

Se proprio lo desideri, puoi salvare il file, eliminare la distinta componenti dannosa e aprire il file. Oppure puoi impostare un proxy (Fiddler2 è buono per questo) che intercetterà e modificherà i file prima che arrivino al tuo browser. Tuttavia, queste non sono davvero buone soluzioni e probabilmente creeranno ulteriori problemi. La cosa migliore da fare, se hai problemi di codifica, è contattare il manutentore del sito web. Dovremmo comunque spostarci tutti su Unicode ove possibile, senza utilizzare gli standard di codifica più vecchi e più limitati.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.