У меня есть несколько сайтов, закодированных в UTF-8. Они содержат акценты и те странные н с загогулины над ними и все виды забавных вещей.

Когда я пытаюсь открыть их в любом текстовом редакторе, даже в Notepad++ с кодировкой символов UTF-8, я получаю странные символы.

В моем браузере:

В текстовом редакторе:

Может кто-нибудь объяснить, что здесь происходит?

3 ответа3

1

Страница была написана с использованием ссылок на сущности (старый термин) или именованных ссылок на символы (термин HTML5), которые являются специальными обозначениями для символов. На странице в кодировке UTF-8 вы можете использовать, например, «ó», но такую ссылку, как ó также допустимо и может быть предпочтительным для авторов / разработчиков страниц по разным причинам (например, не зная, как ввести «ó»). Довольно часто использование сущностей является лишь пережитком старой практики, которая когда-то была необходима (в 1990-х годах), до широкой поддержки UTF-8 в браузерах.

Запись ó полностью безопасен в использовании, хотя делает исходный код HTML менее читабельным. Например, если пользователь копирует и вставляет текст, он получает «ó», потому что ó существует только в источнике HTML; он внутренне преобразуется в «” »с помощью HTML-анализатора браузера.

Однако некоторые ссылки небезопасны. Как правило, объекты, определенные в HTML 4.01, являются безопасными. (Некоторые из них могут относиться к символам, которые не всегда отображаются правильно из-за проблем со шрифтами, но такие проблемы существуют совершенно независимо от использования объекта в сравнении с самим символом.) В HTML5 существует гораздо больший набор именованных ссылок на символы, и старые версии браузеров часто не поддерживают эти расширения.

Например, ō может или не может быть поддержано. Если поддерживается, оно отображается как «ō» (o с макроном); если не поддерживается (например, в IE 9 и старше), он отображается буквально. Таким образом, гораздо безопаснее использовать сам символ или числовую ссылку ō ,

1

HTML использует следующие объекты для букв и других символов, используемых в иностранных языках. Посмотрите, и вы увидите, что символ "ó" - это "ó" ,

И это хорошая статья о UTF-8 и кодировке символов в браузерах:

В начале был ASCII, и все было просто. Но они не были хорошими, потому что никто не мог писать на кириллице или тайском языке. Таким образом, взорвалось распространение кодировок символов, чтобы исправить проблему, расширив символы, которые ASCII мог выразить. Эта смехотворно упрощенная версия истории кодировок символов показывает нам, что теперь существует множество кодировок символов.

Кодировка символов говорит компьютеру, как интерпретировать необработанные нули и единицы в реальные символы. Обычно это делается путем сопряжения чисел с символами.

1

Когда я пытаюсь открыть их в любом текстовом редакторе, я получаю странные символы

importación

Это специальные коды HTML.

ó является специальным символьным представлением для "строчных букв" o "с острым акцентом".

Вы можете увидеть полный список специальных кодов HTML в Таблице кодов HTML.


HTML-объекты и / или коды ISO Latin-1 могут быть размещены в исходном коде, как и любые другие буквенно-цифровые символы, для создания специальных символов и символов, которые не могут быть сгенерированы в HTML с помощью обычных команд клавиатуры.

Например, чтобы визуализировать Дюссельдорф, источник HTML должен иметь вид

Düsseldorf or Düsseldorf

Исходный HTML: специальные символы

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