Кодировка в html: Кодировка HTML-страницы — Структура HTML-документа — HTML Academy

Кодировка HTML уроки для начинающих академия

❮ Назад Дальше ❯


Для правильного отображения HTML-страницы веб-обозреватель должен знать, какой набор символов (кодировка) следует использовать.


Что такое кодировка символов?

ASCII был первым стандартом кодировки символов (также называемым набором символов). ASCII определены 128 различных буквенно-цифровых символов, которые могут быть использованы в Интернете: цифры (0-9), английские буквы (a-Z), и некоторые специальные символы, как! $ +-() @ < >.

ANSI (Windows-1252) был оригинальный набор символов Windows, с поддержкой 256 различных кодов символов.

ISO-8859-1 был стандартным набором символов для HTML 4. Этот набор символов также поддерживает 256 различные коды символов.

Так как ANSI и ISO-8859-1 были настолько ограничены, HTML 4 также поддерживал UTF-8.

UTF-8 (Юникод) охватывает почти все символы и символы в мире.

Кодировка символов по умолчанию для HTML5 — UTF-8.


Атрибут HTML-кодировки

Для правильного отображения HTML-страницы веб-обозреватель должен знать кодировку, используемую на странице.

Это указано в теге <meta> :

Для HTML4:

<meta http-equiv=»Content-Type» content=»text/html;charset=ISO-8859-1″>

Для HTML5:

<meta charset=»UTF-8″>


Если браузер обнаруживает ISO-8859-1 на веб-странице, по умолчанию используется ANSI, так как ANSI идентичен ISO-8859-1 за исключением того, что ANSI имеет 32 дополнительных символов.



Различия между наборами символов

В следующей таблице показаны различия между наборами символов, описанными выше:

NumbASCIIANSI8859UTF-8Описание
32space
33!!!!exclamation mark
34««««quotation mark
35####number sign
36$$$$dollar sign
37%%%%percent sign
38&&&&ampersand
39apostrophe
40((((left parenthesis
41))))right parenthesis
42****asterisk
43++++plus sign
44,,,,comma
45hyphen-minus
46....full stop
47////
solidus
480000digit zero
491111digit one
502222digit two
513333digit three
524444digit four
535555digit five
546666digit six
557777digit seven
568888digit eight
579999digit nine
58::::colon
59;;;;semicolon
60<<<<less-than sign
61====equals sign
62>>>>greater-than sign
63????question mark
64@@@@commercial at
65AAAALatin capital letter A
66BBBBLatin capital letter B
67CCCCLatin capital letter C
68DDDDLatin capital letter D
69EEEELatin capital letter E
70FFFFLatin capital letter F
71GGGG Latin capital letter G
72HHHHLatin capital letter H
73IIIILatin capital letter I
74JJJJLatin capital letter J
75KKKKLatin capital letter K
76LLLLLatin capital letter L
77MMMMLatin capital letter M
78NNNNLatin capital letter N
79OOOOLatin capital letter O
80PPPPLatin capital letter P
81QQQQLatin capital letter Q
82RRRRLatin capital letter R
83SSSSLatin capital letter S
84TTTTLatin capital letter T
85UUUULatin capital letter U
86VVVVLatin capital letter V
87WWWWLatin capital letter W
88XXXXLatin capital letter X
89YYYYLatin capital letter Y
90ZZZZLatin capital letter Z
91[[[[left square bracket
92\\\\reverse solidus
93]]]]right square bracket
94^^^^circumflex accent
95____low line
96````grave accent
97aaaaLatin small letter a
98bbbbLatin small letter b
99ccccLatin small letter c
100ddddLatin small letter d
101eeeeLatin small letter e
102ffffLatin small letter f
103ggggLatin small letter g
104hhhhLatin small letter h
105iiiiLatin small letter i
106jjjjLatin small letter j
107kkkkLatin small letter k
108llllLatin small letter l
109mmmmLatin small letter m
110nnnnLatin small letter n
111ooooLatin small letter o
112ppppLatin small letter p
113qqqqLatin small letter q
114rrrrLatin small letter r
115ssssLatin small letter s
116ttttLatin small letter t
117uuuuLatin small letter u
118vvvvLatin small letter v
119wwwwLatin small letter w
120xxxxLatin small letter x
121yyyyLatin small letter y
122zzzzLatin small letter z
123{{{{left curly bracket
124||||vertical line
125}}}}right curly bracket
126~~~~tilde
127DEL    
128 €  euro sign
129 NOT USED
130 ‚  single low-9 quotation mark
131 ƒ  Latin small letter f with hook
132 „  double low-9 quotation mark
133 …  horizontal ellipsis
134 †  dagger
135 ‡  double dagger
136 ˆ  modifier letter circumflex accent
137 ‰  per mille sign
138 Š  Latin capital letter S with caron
139 ‹  single left-pointing angle quotation mark
140 Œ  Latin capital ligature OE
141 NOT USED
142 Ž  Latin capital letter Z with caron
143 NOT USED
144 NOT USED
145 ‘  left single quotation mark
146 ’  right single quotation mark
147 “  left double quotation mark
148 ”  right double quotation mark
149 •  bullet
150 –  en dash
151 —  em dash
152 ˜  small tilde
153 ™  trade mark sign
154 š  Latin small letter s with caron
155 ›  single right-pointing angle quotation mark
156 œ  Latin small ligature oe
157 NOT USED
158 ž  Latin small letter z with caron
159 Ÿ  Latin capital letter Y with diaeresis
160    no-break space
161 ¡¡¡inverted exclamation mark
162 ¢¢¢cent sign
163 £££pound sign
164 ¤¤¤currency sign
165 ¥¥¥yen sign
166 ¦¦¦broken bar
167 §§§section sign
168 ¨¨¨diaeresis
169 ©©©copyright sign
170 ªªªfeminine ordinal indicator
171 «««left-pointing double angle quotation mark
172 ¬¬¬not sign
173 ­­
­
soft hyphen
174 ®®®registered sign
175 ¯¯¯macron
176 °°°degree sign
177 ±±±plus-minus sign
178 ²²²superscript two
179 ³³³superscript three
180 ´´´acute accent
181 µµµmicro sign
182 pilcrow sign
183 ···middle dot
184 ¸¸¸cedilla
185 ¹¹¹superscript one
186 ºººmasculine ordinal indicator
187 »»»right-pointing double angle quotation mark
188 ¼¼¼vulgar fraction one quarter
189 ½½½vulgar fraction one half
190 ¾¾¾vulgar fraction three quarters
191 ¿¿¿inverted question mark
192 ÀÀÀLatin capital letter A with grave
193 ÁÁÁLatin capital letter A with acute
194 ÂÂÂLatin capital letter A with circumflex
195 ÃÃÃLatin capital letter A with tilde
196 ÄÄÄLatin capital letter A with diaeresis
197 ÅÅÅLatin capital letter A with ring above
198 ÆÆÆLatin capital letter AE
199 ÇÇÇLatin capital letter C with cedilla
200 ÈÈÈLatin capital letter E with grave
201 ÉÉÉLatin capital letter E with acute
202 ÊÊÊLatin capital letter E with circumflex
203 ËËËLatin capital letter E with diaeresis
204 ÌÌÌLatin capital letter I with grave
205 Í ÍÍLatin capital letter I with acute
206 ÎÎÎLatin capital letter I with circumflex
207 ÏÏÏLatin capital letter I with diaeresis
208 ÐÐÐLatin capital letter Eth
209 ÑÑÑLatin capital letter N with tilde
210 ÒÒÒLatin capital letter O with grave
211 ÓÓÓLatin capital letter O with acute
212 ÔÔÔLatin capital letter O with circumflex
213 ÕÕÕLatin capital letter O with tilde
214 ÖÖÖLatin capital letter O with diaeresis
215 ×××multiplication sign
216 ØØØLatin capital letter O with stroke
217 ÙÙÙLatin capital letter U with grave
218 ÚÚÚLatin capital letter U with acute
219 ÛÛÛLatin capital letter U with circumflex
220 ÜÜÜLatin capital letter U with diaeresis
221 ÝÝÝLatin capital letter Y with acute
222 ÞÞÞLatin capital letter Thorn
223 ßßßLatin small letter sharp s
224 àààLatin small letter a with grave
225 áááLatin small letter a with acute
226 âââLatin small letter a with circumflex
227 ãããLatin small letter a with tilde
228 äääLatin small letter a with diaeresis
229 åååLatin small letter a with ring above
230 æææLatin small letter ae
231 çççLatin small letter c with cedilla
232 èèèLatin small letter e with grave
233 éééLatin small letter e with acute
234 êêêLatin small letter e with circumflex
235 ëëëLatin small letter e with diaeresis
236 ìììLatin small letter i with grave
237 íííLatin small letter i with acute
238 îîîLatin small letter i with circumflex
239 ïïïLatin small letter i with diaeresis
240 ðððLatin small letter eth
241 ñññLatin small letter n with tilde
242 òòòLatin small letter o with grave
243 óóóLatin small letter o with acute
244 ôôôLatin small letter o with circumflex
245 õõõLatin small letter o with tilde
246 öööLatin small letter o with diaeresis
247 ÷÷÷division sign
248 øøøLatin small letter o with stroke
249 ùùùLatin small letter u with grave
250 úúúLatin small letter u with acute
251 ûûûLatin small letter with circumflex
252 üüüLatin small letter u with diaeresis
253 ýýýLatin small letter y with acute
254 þþþLatin small letter thorn
255 ÿÿÿLatin small letter y with diaeresis


Набор символов ASCII

ASCII использует значения от 0 до 31 (и 127) для управляющих символов.

ASCII использует значения от 32 до 126 для букв, цифр и символов.

ASCII не использует значения от 128 до 255.


Набор символов ANSI (Windows-1252)

ANSI идентичен ASCII для значений от 0 до 127.

ANSI имеет собственный набор символов для значений от 128 до 159.

ANSI идентичен UTF-8 для значений от 160 до 255.


Кодировка ISO-8859-1

8859-1 идентичен ASCII для значений от 0 до 127.

8859-1 не использует значения от 128 до 159.

8859-1 идентичен UTF-8 для значений от 160 до 255.


Кодировка UTF-8

UTF-8 идентичен ASCII для значений от 0 до 127.

UTF-8 не использует значения от 128 до 159.

UTF-8 идентичен ANSI и 8859-1 для значений от 160 до 255.

UTF-8 продолжается от значения 256 с более чем 10 000 различных символов.

Для более пристального взгляда, изучите наш полный набор символов HTML.

❮ Назад Дальше ❯

Internet Explorer использует неправильный набор символов для HTML-страницы — Browsers

Twitter LinkedIn Facebook Адрес электронной почты

  • Статья

Предупреждение

Устаревшее и не поддерживаемое классическое приложение Internet Explorer 11 было окончательно отключено с помощью обновления Microsoft Edge в некоторых версиях Windows 10. Дополнительные сведения см. в статье Часто задаваемые вопросы о прекращении использования классических приложений Internet Explorer 11.

В этой статье приведены методы для решения проблемы, из-за чего Internet Explorer отрисовывает HTML-страницу с помощью неправильного набора символов.

Исходная версия продукта: Internet Explorer
Исходный номер базы знаний: 928847

Симптомы

Когда Microsoft Internet Explorer отрисовывает HTML-страницу, он использует неправильный набор символов. Internet Explorer делает это, даже если правильный набор символов указан тегом META на HTML-странице.

Например, Internet Explorer может отрисовывать страницу HTML на японском языке с помощью набора символов SHIFT-JIS, даже если UTF-8 указан с помощью следующего META тега на HTML-странице:

<META http-equiv=Content-Type content="text/html; charset=utf-8">

Причина

Эта проблема может возникнуть при выполнении одного или нескольких или следующих условий:

  • Параметр Автовыбор включен в Internet Explorer. Этот параметр помогает Internet Explorer определить кодовую страницу, используемую для HTML-страницы.
  • Параметр «Системный языковой стандарт» отличается от набора символов, указанного в теге META .
  • Тег META , указывающий набор символов, не находится в первом блоке HTML-данных, проанализированных MSHTML. Как правило, это означает, что тег находится где-то после первых 256 байт данных в оставшейся части первых 4 КБ данных.
  • Сервер является медленной системой, или сервер разрывает первую часть HTTP-ответа, чтобы ответ не содержал META тег. Эта проблема может возникнуть, если включить фрагментированную кодировку.
  • Когда Internet Explorer передает исходный блок для анализа методу IMultiLanguage::ConvertStringToUnicode , Internet Explorer не может выполнить преобразование.

Примечание.

Существуют дополнительные условия, которые могут способствовать возникновению этой проблемы. Эти дополнительные условия очень зависят от кода и не перечислены здесь.

Решение

Для решения этой проблемы воспользуйтесь одним из указанных ниже способов.

  • Отключите параметр Автовыбор в Internet Explorer.
  • Укажите набор символов в заголовках HTTP.
  • Переместите тег в META первый килобайт данных, проанализированных MSHTML. Хотя мы не знаем, сколько данных синтаксический анализатор считывает за раз, это расположение позволит устранить проблему.
  • Увеличьте размер начального HTTP-ответа сервера. Начальный размер должен быть не менее 1 КБ.
  • Убедитесь, что параметр Системный языковой стандарт соответствует набору символов тега META , указанного на HTML-странице.

Узнайте, как использовать метакодировку

TL;DR. Указание правильной кодировки HTML предотвратит сбой отображения в браузере специальных символов.

Содержание
  • 1. Понимание кодировки символов HTML
  • 2. ASCII: самый простой набор символов
  • 3. Лучший вариант: UTF-8
  • 4. Альтернативные кодировки HTML
  • Советы 08 Кодировка 08 Полезно 5.

Понимание кодировки символов HTML

Необходимость 9Кодировка 0022 символов возникает из-за огромного выбора доступных символов. Помимо привычных вам латинских букв и арабских цифр, есть также иностранные алфавиты, математические символы и другие специальные символы. Однако документы, для которых определены разные кодировки HTML, могут отображать их по-разному.

Неправильно интерпретированный текст приводит к ряду проблем:

  • Пользователи не могут правильно прочитать текст
  • Поисковые системы не могу найти данные
  • Машины не могут обрабатывать информацию

Все доступные символы сгруппированы в определенные наборы (также называемые наборами символов для краткости). Определив кодировку HTML, вы позволите браузеру получить доступ к определенному набору и правильно отобразить его символы.

Примечание: у японцев даже есть специальный термин для плохо интерпретируемого набора символов — модзибаке (文字化け).

ASCII: самый простой набор символов

Первая и самая простая кодировка символов HTML называется ASCII . Большинство современных наборов символов используют его в качестве стандартной базы.

ASCII означает Американский стандартный код для обмена информацией. Он был разработан на основе телеграфного кода в начале 1960-х годов и содержит 128 символов , 95 из которых печатные :

  • Строчные латинские буквы
  • Прописные латинские буквы
  • Знаки препинания
  • Цифры от 0 до 9

33 непечатаемых символа также называются управляющими символами . Это прозрачные символы — например, те, которые позволяют разделять слова или абзацы.

Однако популярность ASCII падала по мере того, как Интернет становился все более и более международным . Только поддержки латинских символов быстро стало недостаточно.

Плюсы

  • Простой дизайн (без лишней информации)
  • Качественные курсы (даже бесплатные)
  • Разнообразие функций

Основные характеристики

  • Программы наностепеней
  • Подходит для предприятий
  • Платные сертификаты об окончании

ЭКСКЛЮЗИВ: 700 4 8 Плюсы

  • Простота навигации
  • Нет технические проблемы
  • Кажется, заботятся о своих пользователях

Основные характеристики

  • Большое разнообразие курсов
  • 30-дневная политика возврата
  • Бесплатные сертификаты об окончании

ОТ 12,99$

Pros

  • Удобный пользовательский интерфейс
  • Предлагает качественный контент
  • 907 10097 Очень прозрачные цены 90 Основные характеристики

    • Бесплатные сертификаты завершение
    • Ориентирован на навыки работы с данными
    • Гибкий график обучения

    СКИДКА 75%

    Ваш лучший вариант: UTF-8

    Unicode — это отраслевой стандарт, используемый для единообразия кодировки символов. Он был опубликован в начале 1990-х и имеет несколько кодировок, таких как UTF-8, UTF-16 и UTF-32.

    UTF-8 означает 8-битный формат преобразования Unicode, который с 2008 года считается самой популярной кодировкой символов HTML. К 2019 году более 90 процентов всех веб-сайтов используют UTF-8. Консорциум World Web также рекомендует использовать кодировку символов HTML по умолчанию.

    Существует несколько веских причин для использования UTF-8:

    • Он поддерживает многие языки .
    • Полностью совместим с с ASCII.
    • Изначально используется XML .
    • Использует на меньше места на , чем другие кодировки Unicode.

    Чтобы объявить UTF-8 в качестве предпочтительной кодировки символов HTML, вам потребуется использовать тег с атрибутом charset и UTF-8 в качестве его значения:

    Альтернативные кодировки HTML

    Вы можете найти множество альтернативных кодировок в стандарте кодирования жизни, созданном рабочей группой веб-гипертекстовых приложений ( ЧТОРГ). Однако мы настоятельно рекомендуем вам использовать UTF-8, так как другие кодировки содержат меньший набор символов, что может вызвать проблемы при отображении вашего веб-сайта.

    HTML-кодирование: полезные советы

    • Правильное отображение ваших символов зависит не только от кодировки, но и от выбранного шрифта : не все из них имеют версии для каждого символа. Если выбранный вами шрифт не содержит нужного вам символа, он либо будет искать совпадения в других шрифтах , либо отобразит другой символ (например, вопросительный знак).
    • Не забывайте, что вам также необходимо указать кодировку HTML при сохранении вашего документа.

    Блог WHATWG — Дорога к HTML 5: кодировка символов

    по Марк Пилигрим, Google в учебниках

    Добро пожаловать в мою полурегулярную колонку «Дорога к HTML 5», где я попытаюсь объяснить некоторые новые элементы, атрибуты и другие функции в предстоящей спецификации HTML 5.

    Особенностью дня является кодировка символов, в частности, как определить кодировку символов HTML-документа. Я никогда не был счастливее, чем когда пишу о кодировке символов. Но сначала, вот мое стандартное описание того, что такое кодировка символов:

    Когда вы думаете о «тексте», вы, вероятно, думаете о «символах и символах, которые я вижу на экране моего компьютера». Но компьютеры не имеют дело с буквами и символами; они имеют дело с битами и байтами. Каждый фрагмент текста, который вы когда-либо видели на экране компьютера, на самом деле хранится в определенной кодировке символов . Существует множество различных кодировок символов, некоторые из которых оптимизированы для определенных языков, таких как русский, китайский или английский, а другие могут использоваться для нескольких языков. Грубо говоря, кодировка символов обеспечивает соответствие между тем, что вы видите на экране, и тем, что ваш компьютер фактически хранит в памяти и на диске.

    На самом деле все сложнее. Многие символы являются общими для нескольких кодировок, но каждая кодировка может использовать другую последовательность байтов для фактического хранения этих символов в памяти или на диске. Таким образом, вы можете думать о кодировке символов как о своего рода ключе расшифровки текста. Всякий раз, когда кто-то дает вам последовательность байтов и утверждает, что это «текст», вам нужно знать, какую кодировку символов он использовал, чтобы вы могли декодировать байты в символы и отображать их (или обрабатывать их, или что-то еще).

    — источник

    И еще раз повторю свой стандартный набор справочных ссылок для тех из вас, кто ничего не знает о кодировке символов. Вы должны прочитать книгу Джоэла Спольски «Абсолютный минимум, который должен знать каждый разработчик программного обеспечения о Unicode и наборах символов (без оправданий!)» и «Символы против байтов» и все, что написано Мартином Дюрстом.

    Я также должен отметить, что вы всегда должны указывать кодировку символов на каждой HTML-странице, которую вы обслуживаете . Отсутствие указания кодировки может привести к уязвимостям в системе безопасности.

    Итак, как ваш браузер на самом деле определяет кодировку символов потока байтов, который отправляет веб-сервер? Если вы знакомы с заголовками HTTP, возможно, вы видели такой заголовок:

    .

    Content-Type: text/html; набор символов = "utf-8"

    Вкратце, это говорит о том, что веб-сервер думает, что отправляет вам HTML-документ, и что он считает, что документ использует кодировку символов UTF-8 . К сожалению, во всем великолепии всемирной паутины очень немногие авторы фактически имеют контроль над своим HTTP-сервером. Подумайте о Blogger: контент предоставляется отдельными лицами, но серверы находятся в ведении Google. Таким образом, HTML 4 предоставил способ указать кодировку символов в самом HTML-документе. Вы, наверное, тоже это видели:

    Вкратце это говорит о том, что веб-автор считает, что он создал HTML-документ, используя кодировку символов UTF-8 . Теперь вы можете легко представить себе ситуацию, когда оба сервера и предоставляют информацию о кодировании документа. Кроме того, они могут не совпадать (особенно если ими управляют разные люди). Так кто из них победит? Ну, есть порядок приоритета на случай, если документ подается с противоречивой информацией.

    Вот что говорит HTML 4.01 о порядке приоритета для определения кодировки символов:

    1. Переопределение пользователя ( например, пользователь выбрал кодировку из меню в своем браузере).
    2. Параметр «charset» HTTP в поле «Content-Type».
    3. Объявление META с атрибутом «http-equiv», установленным на «Content-Type», и значением, установленным для «charset».
    4. Атрибут charset установлен для элемента, обозначающего внешний ресурс.
    5. Неопределенный эвристический анализ.

    Вот что говорит об этом HTML 5. Я не буду цитировать все это здесь, достаточно сказать, что это 7-шаговый алгоритм; шаг 4 имеет 2 подэтапа, первый из которых имеет 7 ветвей, один из которых имеет 8 подэтапов, один из которых фактически связан с отдельным алгоритмом, который сам состоит из 7 шагов. .. Так продолжается некоторое время . Суть в том, что

    1. Переопределение пользователя.
    2. Параметр «charset» HTTP в поле «Content-Type».
    3. Знак порядка байтов перед любыми другими данными в самом HTML-документе.
    4. Объявление META с атрибутом «charset».
    5. Объявление META с атрибутом «http-equiv», установленным на «Content-Type», и значением, установленным для «charset».
    6. Неопределенный эвристический анализ.

    …а потом…

    1. Нормализация данной строки кодировки символов в соответствии с правилами сопоставления псевдонимов кодировок, определенными в Техническом стандарте Unicode № 22.
    2. Переопределить некоторые проблемные кодировки, т. е. преднамеренно обрабатывать некоторые кодировки, как если бы они были разными кодировками. Наиболее распространенным переопределением является обработка US-ASCII и ISO-8859-1 как Windows-1252 , но в этой таблице есть несколько других переопределений кодировки. Как отмечается в спецификации, «Требование рассматривать определенные кодировки как другие кодировки в соответствии с приведенной выше таблицей является умышленным нарушением спецификации модели символов W3C».

    Две вещи должны бросаться в глаза здесь. Во-первых, WTF — это атрибут ? Ну, это именно то, на что это похоже. Выглядит так:

    <метакодировка=UTF-8>

    Мне удалось найти лишь разрозненные обсуждения этого атрибута в списке рассылки WHATWG.

    • Март 2006 г .: Декларация кодировки символов в Интернете, в частности, этот пост Лахлана Ханта, в котором изложены требования к «прокладыванию коровьих троп» распространенных ошибок авторов.
    • , июнь 2007 г.: объявление внутренней кодировки символов, отбрасывание UTF-32, а также терминология UTF и BOM
    • .

    Лучшее объяснение нового атрибута было дано несколько месяцев спустя в несвязанной ветке в отдельном списке рассылки. Эндрю Сидвелл объясняет:

    Обоснование комбинации атрибутов заключается в том, что ПА уже реализуют ее, потому что люди склонны оставлять вещи без кавычек, например:

    (Есть даже несколько тестовых примеров, если вы не верите, что браузеры уже делают это.)

    Во-вторых, кто, черт возьми, думает, что WHATWG указывает на «умышленное нарушение спецификации модели персонажей W3C»‽ Это справедливый вопрос. Как и в случае со многими подобными вопросами, ответ заключается в том, что HTML 5 лишь кодифицирует то, что уже делают браузеры. ИСО-8859-1 и Windows-1252 очень похожие кодировки. Единственное, чем они отличаются, — это так называемые «умные кавычки» и «фигурные апострофы» — довольно маленькие типографские завитки, которые любят авторы и которые Microsoft Word (и многие другие редакторы) выводят по умолчанию.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *