Основное различие между utf8, utf8mb3 и utf8mb4 заключается в максимальном количестве байтов на символ. utf8 и utf8mb3 могут хранить символы только в базовой многоязычной плоскости (BMP) или Basic Multilingual Plane, а utf8mb4 также может хранить символы в дополнительной плоскости Supplementary Plane.
Технические параметры utf8mb4 (кратко)
Почему не сохраняются смайлики и emoji переходи на utf8mb4
В этой таблице используется набор символов utf8mb4 как для столбцов имени, так и для столбцов электронной почты. Это означает, что в таблице могут храниться все символы из полного набора символов Юникода, включая смайлы и другие дополнительные символы.
Этот запрос вставляет три строки в таблицу пользователей. Первые две строки содержат простые текстовые данные, а третья строка содержит смайлики. Смайлики будут правильно храниться в базе данных, поскольку набор символов utf8mb4 может хранить смайлы.
Референсы:
https://www.percona.com/blog/the-power-of-utf8mb4-in-mysql-8-0-unleashing-the-full-potential-of-multilingual-data/
https://www.percona.com/blog/migrating-to-utf8mb4-things-to-consider/
https://stackoverflow.com/questions/54822631/is-it-safe-to-update-tables-from-utf8-to-utf8mb4-in-mysql