В Chrome, Firefox и IE при просмотре определенных веб-страниц я получаю символы-заполнители для некоторых символов, которые невозможно отобразить.

Хром:

Fire Fox:

IE:

Когда я открываю URL в Microsoft Word, он показывает символы:

Теперь мой вопрос: как правило, как мне поступить:

  1. Определите, какие наборы символов отсутствуют?
  2. Установить недостающие наборы символов, чтобы браузеры отображали их?

В качестве отступления: почему, если Word может отображать их, ни один из браузеров в моей системе не работает?

(Страница, просто для справки, находится здесь: http://slavenorth.com/columns/oldenglish.htm)

2 ответа2

2

Это проблема с кодировкой символов, а не проблема шрифта. Упомянутая веб-страница снабжена заголовком HTTP, который говорит Content-Type: text/html; charset=utf-8 , объявив страницу в кодировке UTF-8. На самом деле это кодировка Windows-1252; эта кодировка обычно использовалась при создании страницы (около 2002 г.). Символы «�» указывают на ошибки данных на уровне символов (байтовые строки, которые не обозначают какой-либо символ в применяемой кодировке).

Конечно, проблема должна быть решена на стороне сервера. Но, как посетитель, вы можете указать своему браузеру игнорировать заголовок HTTP и вместо этого применять правильную кодировку. Для этого вы обычно используете командное меню «Вид», пункт «Кодировка» или «Кодировка символов» и выбираете альтернативу, например «Западная», «Западноевропейская», «ISO-8895-1» или «Windows-1252». (все это действительно означает одно и то же в браузерах).

1

Определите, какие наборы символов отсутствуют?

Во-первых, персонаж может существовать во многих наборах символов, я думаю, что лучше начать с определения

  • какой набор символов указан самой веб-страницей (если нет - см. по умолчанию)
  • какой скрипт Unicode содержит символ

Обычно просмотр источника HTML-страницы может помочь определить набор символов. Часто ответом будет UTF-8 - который отвечает на ваш вопрос, но бесполезно. Ctrl+U работает в большинстве браузеров или в контекстном меню "Просмотр исходного кода страницы".

Чтобы идентифицировать символ, я обычно вставляю его в приложение, такое как gVim, которое позволяет запрашивать его для шестнадцатеричного значения символа под курсором. В Microsoft-Word вы можете выделить символ и нажать ALt+X, чтобы увидеть шестнадцатеричное значение. Затем я смотрю его с помощью Google, например, "Unicode Character 2301".

Установить недостающие наборы символов, чтобы браузеры отображали их?

Как правило, вы не устанавливаете набор символов, вы устанавливаете шрифт, который содержит глифы для диапазона желаемых символов. В настоящее время вы не беспокоитесь о кодировке шрифтов. Опять же, я бы использовал Google, чтобы найти, например, "различный технический символ шрифта".

Почему, если Word может отображать их, не может ни один из браузеров в моей системе?

Отличный вопрос В настоящее время я ожидаю, что браузеры будут использовать все доступные шрифты, чтобы найти глиф для любого символа. Требуется дальнейшее расследование. Возможно, вы могли бы использовать Word, чтобы сохранить текст в текстовом файле UTF-8 и опубликовать его где-нибудь или отредактировать этот текст в своем ответе. , Смотрите ответ Юкки К. Корпела ... +1 ... (вздох)

PS этот вопрос является отличным примером проблемы XY. Я только смотрел на X, JK видел Y.

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