Использование utf8_general_ci или utf8_unicode_ci в MySQL

MySql, PostgreSQL ...

Модератор: ROOT

Использование utf8_general_ci или utf8_unicode_ci в MySQL

Сообщение ROOT » 16 фев 2012, 22:15

Частенько при установке wordpress, особенно на зарубежных хостингах, приходиться исправлять кодировку сайта, залезая в дебри баз данных — MySQL.
Как не вспомнить здесь старую шутку пользователей из СНГ. Так один юзер говорит другому, что он ненавидит американцев только за то, что ему приходится переключать клавиатуру, а тем не надо! :evil:
Однако сейчас пойдёт речь о выборе в базе данных MySQL таблицы utf8_general_ci или utf8_unicode_ci. Обращаю внимание новичков на разницу в середине названий таблицы _general_ и _unicode_ . Внимательность, ограничит Ваши случайные ошибки! Какую же таблицу нам предпочесть при использовании UTF?
utf8_general_ci
Данная таблица убирает все имеющиеся акценты и приводит их к верхнему регистру типа ÀÁÅåāă = A, ü = U. А это не очень точно отрабатывается при сортировках данных. Впрочем данный вариант иногда полезен при поиске, так как он быстрее utf8_unicode_ci. Хорошо подходит для Русской кодировки, но при использовании Белорусского и Украинского сортировка будет недостаточно верной.
utf8_unicode_ci
Данная таблица довольно правильно и точно работает при сортировке и поиске данных. Например, ? (немецкий эсцет) будет при сортировке, как ему и положено, располагаться рядом с ss. Как отмечалось выше, это вариант медленнее utf8_general_ci. Однако этот выбор наиболее полно отражает элементы Русского, Белорусского и Украинского языков.
Поэтому как вывод, подытожу, что если проект исключительно русскоязычный, а скорость поиска и сравнения критична, то необходимо остановится на utf8_general_ci. Если же ваш проект мультиязычен и необходима поддержка большого количества языков, то лучше остановиться на utf8_unicode_ci.
Для желающих поддержать
Карта SB: 5469 4009 6510 2267
Аватар пользователя
ROOT
Администратор
 
Сообщений: 417
Зарегистрирован: 01 авг 2011, 09:36
Откуда: Моск. обл., г. Железнодорожный

Вернуться в Системы управления базами данных

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron