Основное различие между utf8, utf8mb3 и utf8mb4 и при чём тут emojis и сохранение их в бд

0
1036

Основное различие между utf8, utf8mb3 и utf8mb4 заключается в максимальном количестве байтов на символ. utf8 и utf8mb3 могут хранить символы только в базовой многоязычной плоскости (BMP) или Basic Multilingual Plane, а utf8mb4 также может хранить символы в дополнительной плоскости Supplementary Plane.

Технические параметры utf8mb4 (кратко)

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