MySQL китайская колонна - PullRequest
       10

MySQL китайская колонна

0 голосов
/ 25 января 2011

Для хранения китайских символов в mysql рекомендуется хранить их как UTF8 или UCS2?(Я использую char и varchar)

Кроме того, я видел, что UTF8 использует 4 байта данных для хранения значений.Сколько UCS2 использует?

1 Ответ

0 голосов
/ 25 января 2011

Я видел, что UTF8 использует 4 байта данных для хранения значений. Сколько UCS2 использует?

UTF-8 состоит из символов переменной длины в диапазоне от 1 до 3 байтов, UCS2 (UTF-16) - фиксированные 2 байта на символ.

Для хранения китайских символов в mysql рекомендуется хранить их как UTF8 или UCS2?

У меня нет опыта работы с китайскими иероглифами, но главный ответ на этот SO вопрос довольно хорошо отвечает на основной вопрос: Разница между UTF-8 и UTF-16?

Оттуда:

Наиболее разумные символы, такие как латиница, кириллица, китайский, японский, могут быть представлены 2 байтами. Если не нужны действительно экзотические символы, это означает, что 16-битное подмножество UTF-16 может использоваться в качестве кодирования фиксированной длины, что ускоряет индексирование.

похоже, что для китайских иероглифов UCS-2 имеет тенденцию экономить место на диске. Если это для веб-проекта, я бы, однако, склонялся к использованию UTF-8, потому что это более распространенная кодировка и стандарт в веб-мире. Дополнительные аргументы для UTF-8 здесь: Следует ли считать UTF-16 вредным?


Справочник по MySQL: 9.1.10. Поддержка Unicode

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...