Гид по технологиям

HTML: Символы, сущности и коды

6 min read Веб-разработка Обновлено 17 Apr 2026
HTML символы и сущности — как использовать
HTML символы и сущности — как использовать

Компьютер на столе с кодом в текстовом редакторе

Иногда на сайте нужно отобразить специальный символ — например, амперсанд (&). Нельзя просто вставить символ & напрямую в HTML, потому что многие символы зарезервированы и интерпретируются как часть синтаксиса HTML. Вместо этого используются HTML-сущности (entities) — именованные или числовые коды, которые браузер переводит в нужный символ при отображении страницы.

Что такое символы в HTML?

При верстке страницы вы используете символы для пунктуации и оформления текста. Большая часть символов вставляется напрямую, но некоторые имеют специальное значение в HTML или неудобны для набора с клавиатуры. Например:

  • Угловые скобки: < и > — отделяют теги.
  • Амперсанд: & — вводит сущность.
  • Кавычки: “ и ‘ — используются в атрибутах.

Если браузер встретит символ < вне контекста тега, он может начать парсить HTML-тег и нарушить структуру страницы. Поэтому такие символы кодируют через сущности. Примеры символов, требующих сущностей:

  • Амперсанд (&)
  • Меньше (<)
  • Больше (>)
  • Двойная кавычка (")
  • Одинарная кавычка (')

Некоторые символы (©, ™, ®) можно вставлять напрямую, но иногда удобнее воспользоваться сущностями: они надёжно работают при разных кодировках и в старых редакторах.

И почему это важно

  • Предотвращает ошибки парсинга HTML.
  • Обеспечивает предсказуемый вывод в разных браузерах и средах.
  • Удобно для автоматической генерации HTML (шаблонизаторы, CMS).

Именованные и числовые сущности

Каждый символ можно представить с помощью числовой сущности; для большинства часто используемых символов также есть именованная сущность. Ниже — удобная таблица соответствия.

СимволИменованная сущностьЧисловая сущность
Ampersand&&
Less than<<
Greater than>>
Double quote""
Single quote''
Copyright©©
Trademark symbol
Registered trademark symbol®®

Использование любой из форм (именованной или числовой) покажет соответствующий символ в браузере. Например, © и © оба отобразят символ ©.

Добавление эмодзи на страницу

Эмодзи в HTML обычно вставляют как числовые сущности в виде Unicode-кодов (hex). Не все эмодзи имеют именованную сущность, поэтому числовой формат используется чаще:

СимволЧисловая сущность
Улыбающееся лицо (😃)😃
Смеющееся лицо (😆)😆
Лицо с нимбом (😇)😇

Важно: отображение эмодзи зависит от шрифта и платформы; на разных устройствах один и тот же код может выглядеть по-разному.

Как вставить сущности в HTML (пошагово)

  1. Создайте новый HTML-файл и укажите базовую структуру и кодировку:


  
    Symbol and Entity Example
    
  
  

  
  1. Внутри тега body добавьте содержимое с требуемыми сущностями. Можно использовать как именованные, так и числовые коды:

HTML Symbols

Copyright symbol: ©

Ampersand symbol: &

Trademark symbol: ™

Smiling Face: 😃

  1. Откройте файл в браузере: коды преобразуются в соответствующие символы и будут видны пользователю.

HTML в браузере с отображёнными сущностями

Когда сущности не нужны или когда они ломаются

  • Если весь документ в кодировке UTF-8 и источник текста гарантированно в UTF-8, многие символы (включая эмодзи и ©) можно вставлять напрямую без сущностей. Однако при сомнительных конвертациях или при экспорте/импорте данных сущности безопаснее.
  • Сущности “ломаются”, если они экранируются дополнительно (например, шаблонизатор уже экранирует &, превратив & в &amp;). Следите за двойным экранированием.
  • Внутри JavaScript-строк в HTML стоит учитывать экранирование JS-кавычек и использование функций для безопасной вставки (innerText vs innerHTML).

Альтернативные подходы

  • Использовать Unicode напрямую — проще, когда кодировка страницы гарантирована. Это лучший вариант для статического контента и CMS с корректной кодировкой.
  • При генерации контента со стороны сервера — правильно экранировать символы (на уровне шаблонов или при выводе) вместо ручной подстановки сущностей.
  • CSS-псевдоэлементы: content: “\00A9”; — для декоративных вставок символов через CSS.
  • JavaScript: добавлять символы программно через textContent или decodeURIComponent/escape, если данные приходят в URL-процентном виде.

Ментальные модели и рекомендации

  • Правило простоты: если символ безопасно отобразится в UTF-8 — вставляйте его напрямую; если есть риск повредить HTML — используйте сущность.
  • Всегда указывайте в .
  • Для вывода пользовательского ввода используйте безопасное экранирование (чтобы предотвратить XSS); не полагайтесь на сущности как на единственную меру безопасности.

Мини-методика: как добавлять символы в проект

  1. Проверьте кодировку файла и сервера — должно быть UTF-8.
  2. Решите: вставлять символ напрямую или через сущность.
  3. Если используете сущности, применяйте именованные для читаемости и числовые для нестандартных символов/эмодзи.
  4. Тестируйте в браузерах и на устройствах с разными системными шрифтами.
  5. Пропишите тесты/приёмку (см. ниже).

Критерии приёмки

  • Вставленный символ отображается корректно в Chrome, Firefox и WebKit-браузерах.
  • Отсутствует двойное экранирование (например, &amp;).
  • Для динамически генерируемого контента проверено, что вставка не открывает XSS-уязвимость.
  • Эмодзи отображается либо как графика, либо как замещающий символ, но не как текстовый код.

Чек-лист по ролям

  • Разработчик:
    • Убедиться в кодировке страницы UTF-8.
    • Правильно экранировать пользовательский ввод.
    • Применять сущности в шаблонах при необходимости.
  • Контент-менеджер:
    • Использовать именованные сущности для юридических символов и кавычек при вставке через CMS.
    • Проверять визуальный вывод перед публикацией.
  • QA:
    • Тестировать отображение символов в нескольких браузерах и на мобильных устройствах.
    • Проверять отсутствие ошибок парсинга HTML.

Короткий словарь (1 строка)

  • Сущность (entity): текстовый код, представляющий символ в HTML; бывает именованной (например, &) или числовой (например, ©).

Частые ошибки и способы их устранения

  • Проблема: символы отображаются как код (& вместо &).

    • Причина: двойное экранирование или невыполненное декодирование в шаблонизаторе.
    • Решение: отключить дополнительное экранирование там, где это безопасно, или хранить исходный символ в UTF-8.
  • Проблема: эмодзи не отображаются или показывается квадратик.

    • Причина: отсутствие шрифта, поддерживающего соответствующий Unicode.
    • Решение: использовать системные шрифты, настроить резервные шрифты или вставлять SVG-пиктограммы.

Краткая сводка

  • Используйте сущности для зарезервированных символов и в ситуациях с ненадёжной кодировкой.
  • В большинстве современных проектов при правильной кодировке UTF-8 можно вставлять символы напрямую.
  • Тестируйте вывод и следите за безопасностью при вставке динамического контента.

Важно: экспериментируйте на тестовой странице и добавляйте проверки в CI, чтобы избежать регрессий при обновлениях шаблонов.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Вставка музыкальных символов в Word и Excel
Офис

Вставка музыкальных символов в Word и Excel

Карта изображения в GIMP — быстрый гид
Веб-дизайн

Карта изображения в GIMP — быстрый гид

Бесплатные шрифты, похожие на платные: лучшие способы
Типография

Бесплатные шрифты, похожие на платные: лучшие способы

Проверить число циклов батареи в Windows
Техподдержка

Проверить число циклов батареи в Windows

Nessus на Kali Linux: установка и запуск
Инструменты безопасности

Nessus на Kali Linux: установка и запуск

Редактирование фото в Adobe Camera Raw
Фотография

Редактирование фото в Adobe Camera Raw