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

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

3 ответов


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

ваш персонаж, если этот самолет.

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

обновление:

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


во-первых: ваше заявление

UTF16-это U+2B5EE

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

теперь, предположим, что вы имеете в виду кода U+2B5EE находится вне BMP (первые 64K Unicode codepoints), и кажется, что mysql имеет мало или нет поддержки их!--14-->. Поэтому я подозреваю, что вам не повезло.


поскольку этот вопрос был опубликован, MySQL 5.5.3 был выпущен, который поддерживает utf8mb4 кодировка, которая предлагает полную поддержку Unicode. Переключение на эту кодировку вместо utf8 исправит вашу проблему.

Я недавно написал подробное руководство о том, как переключиться с MySQL utf8 to utf8mb4. Если вы выполните шаги там, все должно работать правильно. Вот прямые ссылки на каждый отдельный шаг в процесс:

Я подозреваю, что ваша проблема может быть решена на следующем шаге 5. Надеюсь, это поможет!