powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Для чего нужен дополнительный байт в utf8mb4?
8 сообщений из 8, страница 1 из 1
Для чего нужен дополнительный байт в utf8mb4?
    #39757945
Ватрушкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Цитата:
авторВ кодировке MySQL, называемой «utf8», хранится максимум три байта на кодовую точку.
Таким образом, набор символов «utf8» не может хранить все кодовые точки Юникода: он поддерживает только диапазон от 0x000 до 0xFFFF, который называется «Basic Multilingual Plane».

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

Прочитав всё это я так и не понял, где лучше хранить русский текст? В utf8mb4_general_ci или в utf8_general_ci и почему?
Юникод содержит вроде примерно 65 тыс. символов. Какие именно из них не уберутся в обычный utf8?
...
Рейтинг: 0 / 0
Для чего нужен дополнительный байт в utf8mb4?
    #39757970
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ватрушкин,

Из того что сейчас активно используются - всякие смайлики как раз 4 байт используют.
...
Рейтинг: 0 / 0
Для чего нужен дополнительный байт в utf8mb4?
    #39757971
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну и он не "дополнительный", а "недостающий".
Изначально в utf8 было от 1 до 6 байт на символ, mysql решили что не будут поддерживать всё сверх 3 байта, т.е. заведомо ограниченная поддержка.
Затем utf8 сократили до максимум 4 байт, затем в mysql добавили поддержку всех 4 байт utf8 в виде utf8mb4, в будущем планируется заменить utf8 сокращение на utf8mb4, оставив utf8mb3 для совместимости.
...
Рейтинг: 0 / 0
Для чего нужен дополнительный байт в utf8mb4?
    #39757975
Ватрушкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Благодарю за разъяснения
...
Рейтинг: 0 / 0
Для чего нужен дополнительный байт в utf8mb4?
    #39758138
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Melkijв будущем планируется заменить utf8 сокращение на utf8mb4, оставив utf8mb3 для совместимости.Правильно понимаю, что единственным вариантом будет 4-байтовая с "длинным" обозначением, а "короткое" обозначение "utf8" будет исключено вовсе?
...
Рейтинг: 0 / 0
Для чего нужен дополнительный байт в utf8mb4?
    #39758140
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkle,

нет, utf8 сейчас всего лишь алиас, алиасом и останется, но указывать будет не на utf8mb3, а на utf8mb4.
Впрочем мануал к 8.0 говорит , что utf8mb3 уже deprecated и будет когда-нибудь удалён. Но при этом utf8 всё ещё указывает на utf8mb3. Странные люди в mysql... Официальная рекомендация используйте везде utf8mb4.
...
Рейтинг: 0 / 0
Для чего нужен дополнительный байт в utf8mb4?
    #39758153
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Melkij,

Действительно, странные. А с другой стороны, алиас utf8 в будущем, гипотетически, могут и убрать. Не просто ж так рекомендуют использовать оригинальное длинное название.
...
Рейтинг: 0 / 0
Для чего нужен дополнительный байт в utf8mb4?
    #39758174
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkle,

гипотетически - могу, странные же люди. Сомневаюсь что действительно уберут, скорее в одной прекрасной версии (в обновлении с х.y.4 на х.y.5 для очевидности) уберут как раз utf8mb4, но оставят utf8 как переименованный utf8mb4. Всё-таки кодировка utf8 по стандарту, а mb4 деталь реализации.
А сейчас рекомендуют использовать явно utf8mb4 для сохранения поведения когда соберутся алиас менять.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Для чего нужен дополнительный байт в utf8mb4?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]