Blog. Just Blog

Как добавить эмодзи в базу MySQL

Версия для печати Добавить в Избранное Отправить на E-Mail | Категория: Web-мастеру и не только | Автор: ManHunter
Как добавить эмодзи в базу MySQL
Как добавить эмодзи в базу MySQL

В одном из рабочих проектов потребовалось прикрутить эмодзи к сообщениям и хранить эти данные в базе MySQL. Таблица изначально была заведена в кодировке utf8, для работы с базой используется PHP. Однако, возникла проблема, что при попытке добавить в базу текст с некоторыми смайликами, он сохранялся вообще пустым. Дело в том, что кодировка utf8 не поддерживает верхний диапазон символов Unicode, к которым относится большинство эмодзи.

Для того, чтобы исправить эту проблему, достаточно изменить кодировку в соответствующих таблицах на utf8mb4. Запрос будет примерно следующий:

ALTER TABLE `my_table` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin
Или, если на этапе разработки структуры базы, то указать ее в запросе на создание таблицы:

CREATE TABLE `messages` (
  `message_id` INT(11) NOT NULL AUTO_INCREMENT,
  `message_text` TEXT,
  PRIMARY KEY `message_id` (`message_id`)
) ENGINE=MyISAM /*!40101 DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_bin */

Но это еще не все. При подключении к базе надо указывать кодировку:
  1. mysqli_set_charset($connection'utf8mb4');
а если есть такая возможность, то прописать кодировку в файле конфигурации MySQL my.ini (для Windows) или my.cnf (для Linux).

[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

После внесения изменений надо перезапустить базу. Больше никаких проблем co смайликами и прочими эмодзи не будет.

Поделиться ссылкой ВКонтакте
Просмотров: 384 | Комментариев: 0

Метки: MySQL

Комментарии

Отзывы посетителей сайта о статье
Комментариeв нет

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

Заполните форму для добавления комментария
Имя*:
Текст комментария (не более 2000 символов)*:

*Все поля обязательны для заполнения.
Комментарии, содержащие рекламу, ненормативную лексику, оскорбления и т.п., а также флуд и сообщения не по теме, будут удаляться. Нарушителям может быть заблокирован доступ к сайту.
Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2024
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.07 сек. / MySQL: 2 (0.0043 сек.) / Память: 4.5 Mb
Наверх