11

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

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

2 ответа2

13

Это связано с исправлением ошибки 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 BOM слева, как описано в Википедии. Справа он показывает, как он выглядит при визуализации как ANSI/CP1252.

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

-1

Это, наверное, ошибка. У Chromium была похожая проблема много лет назад.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .