Почему Firefox отключает меню «Кодировка символов» для некоторых сайтов?


16

Для некоторых веб-сайтов я заметил, что меню «Просмотр / кодировка символов» в Firefox отключено, почему?

Возможно ли это включить?


Примером одного такого сайта является haszon.hu .
Кальмарий

Возможно, связано с ошибкой 832910 , которая запрашивает отключение меню кодирования на определенных сайтах для предотвращения эксплойтов (это специфично для Android и не устранено; я ищу настольный эквивалент).
Боб

Ответы:


16

Это связано с исправлением ошибки 234628 , меню « Отключить вид»> « Кодировка символов», когда оно не будет иметь эффекта / не нужно (например, XML) .

В частности, если вы посмотрите на комментарий № 63 :

Что касается случая, когда есть спецификация UTF-8, имеет смысл позволить спецификации иметь приоритет над меню

ВОМ используется для идентификации порядка байтов в Unicode , кодируемого документа.

Приведенные причины могут быть обобщены как:

  • Gecko (движок рендеринга Firefox) не поддерживает никакую другую кодировку, которая представляла бы спецификацию в качестве допустимого начала HTML ( <htmlили <!DOCTYPEт. Д.).

  • Другие основные браузеры (IE6 +, на основе WebKit [Chrome и т. Д.]) Делают то же самое. Например, если вы попытаетесь изменить кодировку в Chrome, он просто вернется к UTF-8.

  • В противном случае вы можете испортить ввод данных.


Предоставленная вами страница примера начинается с трех байтов спецификации UTF-8. Это можно увидеть, если сохранить страницу и открыть файл HTML в шестнадцатеричном редакторе. Спецификация положительно идентифицирует его как документ UTF-8, и открытие его в любой другой кодировке не приведет к правильной HTML-странице.

Снимок экрана шестнадцатеричного редактора, показывающего спецификацию

Вы можете увидеть 0xEF 0xBB 0xBFспецификацию слева, как описано в Википедии . Справа он показывает, как он выглядит при визуализации как ANSI / CP1252 .

Если вы действительно хотите, вы можете сохранить файл, удалить поврежденную спецификацию и открыть файл. Или вы можете настроить прокси (Fiddler2 подходит для этого), который будет перехватывать и изменять файлы, прежде чем они попадут в ваш браузер. Тем не менее, это не очень хорошие решения, и, вероятно, просто создаст дальнейшие проблемы. Если у вас есть проблемы с кодировкой, лучше всего обратиться к администратору сайта. Мы все должны все равно переходить на Unicode, где это возможно, не используя более старые и более ограниченные стандарты кодирования.


-1

Это, наверное, ошибка. Хром имел аналогичную проблему лет назад.


2
Это не ошибка. Это было полностью намеренно . Обратите внимание, что согласно этому комментарию , меню в Chrome не работает на похожих страницах (и я только что проверил, в текущем Chrome оно сбрасывается до UTF-8, если вы пытаетесь изменить его).
Боб
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.