Как добавить эмодзи в базу 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 */
Но это еще не все. При подключении к базе надо указывать кодировку:
Code (PHP) : Убрать нумерацию
- mysqli_set_charset($connection, 'utf8mb4');
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
После внесения изменений надо перезапустить базу. Больше никаких проблем co смайликами и прочими эмодзи не будет.
Просмотров: 384 | Комментариев: 0
Метки: MySQL
Комментарии
Отзывы посетителей сайта о статье
Комментариeв нет
Добавить комментарий
Заполните форму для добавления комментария