|
Для чего нужен дополнительный байт в utf8mb4?
|
|||
---|---|---|---|
#18+
Цитата: авторВ кодировке MySQL, называемой «utf8», хранится максимум три байта на кодовую точку. Таким образом, набор символов «utf8» не может хранить все кодовые точки Юникода: он поддерживает только диапазон от 0x000 до 0xFFFF, который называется «Basic Multilingual Plane». Для символа BMP, utf8 и utf8mb4 имеют одинаковые характеристики хранения: то же значение, тот же код, то же кодирование, такую же длину. Для дополнительного символа utf8 не может хранить символ вообще, а utf8mb4 требует четырех байтов для его сохранения. Прочитав всё это я так и не понял, где лучше хранить русский текст? В utf8mb4_general_ci или в utf8_general_ci и почему? Юникод содержит вроде примерно 65 тыс. символов. Какие именно из них не уберутся в обычный utf8? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2019, 15:09 |
|
Для чего нужен дополнительный байт в utf8mb4?
|
|||
---|---|---|---|
#18+
Ватрушкин, Из того что сейчас активно используются - всякие смайлики как раз 4 байт используют. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2019, 15:32 |
|
Для чего нужен дополнительный байт в utf8mb4?
|
|||
---|---|---|---|
#18+
ну и он не "дополнительный", а "недостающий". Изначально в utf8 было от 1 до 6 байт на символ, mysql решили что не будут поддерживать всё сверх 3 байта, т.е. заведомо ограниченная поддержка. Затем utf8 сократили до максимум 4 байт, затем в mysql добавили поддержку всех 4 байт utf8 в виде utf8mb4, в будущем планируется заменить utf8 сокращение на utf8mb4, оставив utf8mb3 для совместимости. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2019, 15:36 |
|
Для чего нужен дополнительный байт в utf8mb4?
|
|||
---|---|---|---|
#18+
Благодарю за разъяснения ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2019, 15:40 |
|
Для чего нужен дополнительный байт в utf8mb4?
|
|||
---|---|---|---|
#18+
Melkijв будущем планируется заменить utf8 сокращение на utf8mb4, оставив utf8mb3 для совместимости.Правильно понимаю, что единственным вариантом будет 4-байтовая с "длинным" обозначением, а "короткое" обозначение "utf8" будет исключено вовсе? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2019, 21:17 |
|
Для чего нужен дополнительный байт в utf8mb4?
|
|||
---|---|---|---|
#18+
vkle, нет, utf8 сейчас всего лишь алиас, алиасом и останется, но указывать будет не на utf8mb3, а на utf8mb4. Впрочем мануал к 8.0 говорит , что utf8mb3 уже deprecated и будет когда-нибудь удалён. Но при этом utf8 всё ещё указывает на utf8mb3. Странные люди в mysql... Официальная рекомендация используйте везде utf8mb4. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2019, 21:26 |
|
Для чего нужен дополнительный байт в utf8mb4?
|
|||
---|---|---|---|
#18+
Melkij, Действительно, странные. А с другой стороны, алиас utf8 в будущем, гипотетически, могут и убрать. Не просто ж так рекомендуют использовать оригинальное длинное название. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2019, 22:04 |
|
Для чего нужен дополнительный байт в utf8mb4?
|
|||
---|---|---|---|
#18+
vkle, гипотетически - могу, странные же люди. Сомневаюсь что действительно уберут, скорее в одной прекрасной версии (в обновлении с х.y.4 на х.y.5 для очевидности) уберут как раз utf8mb4, но оставят utf8 как переименованный utf8mb4. Всё-таки кодировка utf8 по стандарту, а mb4 деталь реализации. А сейчас рекомендуют использовать явно utf8mb4 для сохранения поведения когда соберутся алиас менять. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2019, 23:04 |
|
|
start [/forum/topic.php?fid=47&fpage=41&tid=1829375]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
50ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 18ms |
total: | 165ms |
0 / 0 |