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