💾 Как сохранять смайлы в базу данных MySQL

15 Декабря 2022 (ред)

Если вы хотите сохранить смайлы 😁 в базу данных MySQL, необходимо, чтобы в таблице была кодировка utf8mb4(utf8mb4_general_ci), которая поддерживает верхний диапазон Unicode символов.

Для таблицы можно выполнить следующие запросы, в них MyTable - название таблицы, content - название поля в таблице, в которое сохраняется контент со смайлами. При изменении кодировки контент столбца будет переконвертирован в новую кодировку.

ALTER TABLE `MyTable` COLLATE 'utf8mb4_general_c';

Для изменения кодировки поля его нужно будет "пересоздать", в данном случае вместо следом идущего условия NOT_NULL нужно указать данные для конкретного изменяемого поля.

ALTER TABLE `MyTable` CHANGE `content` `content` varchar(255) CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_unicode_ci' NOT NULL;

Или изменить в интерфейсе обозревателя БД (в данном случае - Adminer)

❗Также важно, чтобы при соединении с базой данных (charset в настройках подключения) была указана именно эта кодировка utf8mb4, чтобы смайлы не терялись при операциях чтения/сохранения.

🏁

Для ответа вы можете авторизоваться


Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.