<rmcreative>

RSS

Все заметки с тегами «collation, UTF»

Можно уточнить:

    (1)
  1. utf8_unicode_ci или utf8_general_ci?

    7 марта 2009

    Какую таблицу из двух выбрать для своей базы данных в случае использования UTF?

    utf8_general_ci

    Убирает все акценты и приводит к верхнему регистру: ÀÁÅåāă = A, ü = U.

    Не очень точно отрабатывает при сортировках. Иногда полезно при поиске. Быстрее utf8_unicode_ci.

    Подходит для Русского. При использовании Белорусского и Украинского сортировка будет не верной.

    utf8_unicode_ci

    Довольно точно при сортировке и поиске. Например, ß (немецкий эсцет) будет при сортировке располагаться рядом с ss, как ему и положено. Медленнее utf8_general_ci.

    Замечательно подходит для Русского, Белорусского и Украинского.

    Итог

    Если проект исключительно русскоязычный и скорость поиска и сравнения критична — можно остановится на utf8_general_ci. Если же есть планы по поддержке большего количества языков — лучше использовать utf8_unicode_ci.

    Полные таблички utf8_unicode_ci и utf8_general_ci (там, кстати, и все остальные есть).

    UPD 2016: Кодировку на сегодняшний день для MySQL рекомендую utf8mb4. Collation utf8mb4_unicode_ci потому что юникод расширился несколько и в utf8 не всё влезает.

    12 комментариев