web-dev-qa-db-fra.com

Pourquoi Firefox désactive-t-il le menu "Codage de caractères" pour certains sites?

Pour certains sites Web, j'ai remarqué que le menu de l'affichage/codage de la vue/personnage de Firefox est désactivé, pourquoi?

Est-il possible de l'activer?

16
Calmarius

C'est due à la solution pour bug 234628 , Désactiver la vue> Menu de codage de caractères quand il n'aura pas d'effet/est inutile (par exemple XML) .

Plus précisément, si vous regardez commentaire n ° 6 :

En ce qui concerne le cas où il y a un bom de UTF-8, il est logique de laisser la nomenclature à primer sur le menu.

Le [~ # ~ # ~] bom [~ # ~ ~] est utilisé pour identifier l'ordre des octets dans un document codé unicode.

Les raisons données peuvent être résumées comme suit:

  • Gecko (moteur de rendu de Firefox) ne prend en charge aucun autre codage qui rendrait un nom de nom en tant que START HTML valide (<html ou alors <!DOCTYPE etc.).

  • Autres navigateurs principaux (IE6 +, WebKit, basé sur WebKit [chrome, etc.]) font la même chose. Par exemple, si vous essayez de modifier le codage sur Chrome, il se réinitialise simplement à UTF-8.

  • Faire autrement pourrait potentiellement gâcher la forme de formulaire.


L'exemple que vous avez fourni commence par les trois bombots UTF-8 BOM. Vous pouvez voir cela si vous enregistrez la page et ouvrez le fichier HTML dans un éditeur Hex. La nomenclature l'identifie positivement comme un document UTF-8 et l'ouvrant dans tout autre codage ne produirait pas une page HTML correcte.

Screenshot of hex editor showing BOM

Tu peux voir le 0xEF0xBB0xBF BOM à gauche, comme décrit sur Wikipedia . À droite, il montre à quoi il ressemble lorsque cela est rendu en tant que ANSI/ CP1252 .

Si vous voulez vraiment, vous pouvez enregistrer le fichier, éteindre le chômage incriminé et ouvrir le fichier. Ou vous pouvez configurer un proxy (Fiddler2 est bon pour cela) qui interceptera et modifiera les fichiers avant d'atteindre votre navigateur. Cependant, ce ne sont pas vraiment de bonnes solutions et sont susceptibles de créer de nouveaux problèmes. La meilleure chose à faire, si vous avez des problèmes d'encodage, c'est contacter le service de maintenance du site Web. Nous devrions tous passer à Unicode si possible de toute façon, sans utiliser les normes de codage plus anciennes et plus limitées.

16
Bob