Почему MySQL не сохранит unicode символ
? Да, это - редкий иероглиф, Вы не видели бы его в браузере.
UTF16 U+2B5EE
Warning: #1366 Incorrect string value: '\xF0\xAB\x97\xAE' for column 'ch' at row 1
Действительно ли возможно сохранить этот символ в MySQL?
MySQL
поддерживает только символы из базовой многоязычной плоскости ( 0x0000
- 0xFFFF
).
Ваш персонаж отсутствует на этом самолете.
Попробуйте вместо этого сохранить синоним :)
Обновление:
MySQL 5.5.3
и более поздняя версия (которая еще не стала GA) поддерживает дополнительные символы, если вы используете кодировку UTF8MB4
.
Во-первых: ваше утверждение
UTF16 is U + 2B5EE
немного неверно. U + 2B5EE
- это нотация для кодовой точки Unicode , просто целое число - абстрактный код - в то время как UTF16 - это кодировка набора символов (одна из возможных кодировок Unicode, как и UTF-8 ).
Теперь, предполагая, что вы имеете в виду кодовую точку, U + 2B5EE
находится за пределами BMP (первые 64К кодовые точки Unicode), и кажется, что mysql имеет небольшую поддержку или совсем не поддерживает их . Так что я подозреваю, что вам не повезло.