@Shimpanze

Что значит предложение «не дающие использовать символы, пронумерованные свыше 0xFFFD»?

Добрый день!

Читаю про кодировки MySQL и наткнулся на неплохую статью. Автор приводит следующее предложение:

Начиная с MySQL 5.5.3, вы должны использовать utf8mb4, а не utf8. Обе эти группы относятся к кодировке UTF-8, но более старая utf8 имеет специфичные для MySQL ограничения, не дающие использовать символы, пронумерованные свыше 0xFFFD.

Поясните, пожалуйста, что означает конец этого предложения (не дающие использовать символы, пронумерованные свыше 0xFFFD)?

Что это значит?

Спасибо!
  • Вопрос задан
  • 218 просмотров
Решения вопроса 1
Каждый символ в unicode имеет собственный цифровой код. 0xFFFD - это число в шестнадцатеричной системе (65533 в десятичной). Старая кодировка не может обработать символы, имеющие больший код.
www.unicodemap.org/details/0xFFFD/index.html
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
2ord
@2ord
продвинутый чайник
Из Википедии:
Базовая многоязыковая плоскость (Basic multilingual plane, BMP)
Диапазон символов U+0000…U+​FFFF

В базовую плоскость входят множество различных письменностей, включая иероглифы, и их должно хватить в 99,9% случаев.
langru-850px-Roadmap_to_Unicode_BMP_mult
Так что если в ПО используются какие-то не входящие в базовую плоскость письменности, то вместо utf8 следует использовать utf8mb4.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы