MySQL не хочет хранить unicode символ

Почему MySQL не сохранит unicode символ ? Да, это - редкий иероглиф, Вы не видели бы его в браузере.
UTF16 U+2B5EE

Warning: #1366 Incorrect string value: '\xF0\xAB\x97\xAE' for column 'ch' at row 1

Действительно ли возможно сохранить этот символ в MySQL?

15
задан Mathias Bynens 7 August 2012 в 06:56
поделиться

2 ответа

MySQL поддерживает только символы из базовой многоязычной плоскости ( 0x0000 - 0xFFFF ).

Ваш персонаж отсутствует на этом самолете.

Попробуйте вместо этого сохранить синоним :)

Обновление:

MySQL 5.5.3 и более поздняя версия (которая еще не стала GA) поддерживает дополнительные символы, если вы используете кодировку UTF8MB4 .

14
ответ дан 1 December 2019 в 04:09
поделиться

Во-первых: ваше утверждение

UTF16 is U + 2B5EE

немного неверно. U + 2B5EE - это нотация для кодовой точки Unicode , просто целое число - абстрактный код - в то время как UTF16 - это кодировка набора символов (одна из возможных кодировок Unicode, как и UTF-8 ).

Теперь, предполагая, что вы имеете в виду кодовую точку, U + 2B5EE находится за пределами BMP (первые 64К кодовые точки Unicode), и кажется, что mysql имеет небольшую поддержку или совсем не поддерживает их . Так что я подозреваю, что вам не повезло.

2
ответ дан 1 December 2019 в 04:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: