Современные пользователи активно используют emoji (эмодзи) для выражения эмоций и визуального оформления сообщений. Если ваш сайт на 1С-Битрикс, вы могли заметить, что при вставке эмодзи в тексты или комментарии они иногда превращаются в «вопросительные знаки» (�) или пустые квадратики.
Это происходит из-за отсутствия поддержки Unicode Emoji на уровне базы данных или кодировки шаблона. В этой статье разберём, как правильно включить поддержку эмодзи на сайте под управлением Битрикс.
🔍 Почему эмодзи не отображаются
Главная причина — неподходящая кодировка таблиц MySQL.
По умолчанию 1С-Битрикс создаёт базу данных с кодировкой utf8_general_ci, которая поддерживает символы до 3 байт.
Однако эмодзи занимают 4 байта, и MySQL просто не может корректно их хранить.
Чтобы эмодзи работали, нужно перейти на кодировку utf8mb4, которая поддерживает все символы Unicode, включая emoji.
⚙️ Шаг 1. Проверяем текущую кодировку
Подключитесь к базе данных (например, через phpMyAdmin, HeidiSQL или консоль MySQL) и выполните команду:
SHOW VARIABLES LIKE 'char%';
Вас интересуют параметры:
-
character_set_server -
collation_server
Если они равны utf8 и utf8_general_ci — эмодзи не будут отображаться корректно.
🔧 Шаг 2. Изменяем кодировку базы данных
Чтобы включить поддержку emoji, переведите базу и таблицы на utf8mb4:
ALTER DATABASE your_database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
Затем измените кодировку всех таблиц:
ALTER TABLE b_option CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ALTER TABLE b_user CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- И так далее для всех таблиц
💡 Проще всего автоматизировать это с помощью короткого PHP-скрипта, который пробежит по всем таблицам и выполнит нужную команду.
🔧 Шаг 2. Изменяем кодировку базы данных
Чтобы включить поддержку emoji, переведите базу и таблицы на utf8mb4:
ALTER DATABASE your_database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
Затем измените кодировку всех таблиц:
ALTER TABLE b_option CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ALTER TABLE b_user CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- И так далее для всех таблиц
💡 Проще всего автоматизировать это с помощью короткого PHP-скрипта, который пробежит по всем таблицам и выполнит нужную команду.
🧩 Шаг 3. Настраиваем соединение PHP–MySQL
В некоторых случаях Битрикс по-умолчанию устанавливает соединение с кодировкой utf8.
Чтобы принудительно использовать utf8mb4, добавьте в dbconn.php строку:
$DB->Query("SET NAMES 'utf8mb4' COLLATE 'utf8mb4_unicode_ci'");
или убедитесь, что в bitrix/.settings.php указано:
'utf_mode' => [ 'value' => true, ],
🎨 Шаг 4. Проверьте шаблон сайта
Иногда шаблон сайта или шрифты не поддерживают отображение эмодзи.
Убедитесь, что в <head> страницы задана правильная кодировка:

и что используется современный веб-шрифт, поддерживающий emoji (например, Noto Color Emoji от Google).
✅ Шаг 5. Проверка
Попробуйте добавить эмодзи в текстовый блок, комментарий или название товара:
🔥 Новый смартфон 📱 по суперцене!
Если всё сделано правильно — эмодзи будут отображаться в админке, на сайте и даже в письмах, отправляемых с Битрикса.
🧠 Советы и подводные камни
-
Перед изменением кодировки обязательно сделайте бэкап базы данных.
-
Если на сайте используется поиск, возможно потребуется переиндексация после изменения кодировки.
-
Проверьте корректность отображения не только на сайте, но и в почтовых шаблонах.
💬 Заключение
Поддержка emoji на сайте Битрикс — не просто «мелочь», а способ сделать интерфейс живее и ближе пользователям.
После перехода на utf8mb4 ваш сайт сможет корректно обрабатывать и отображать любые символы Unicode — от смайликов 😊 до редких языков и знаков.