Подтвердить что ты не робот

Какова наилучшая сортировка MySQL для немецкого языка?

Я создаю веб-сайт на немецком языке, поэтому я буду использовать символы типа ä, ü, ß и т.д. Итак, каковы ваши рекомендации?

4b9b3361

Ответ 1

Как набор символов, если можно, определенно UTF-8.

Как сортировка - это немного противно для языков со специальными символами. Существуют различные типы сортировок. Они могут хранить все Umlauts и другие символы, но они отличаются тем, как они обрабатывают Umlauts при сравнении, т.е.

u = ü 

истинно или ложно; и в сортировке (где в алфавитах Umlauts находятся в порядке сортировки).

Короче говоря, лучший выбор -

utf8_unicode_ci

Он разрешает поиск без учета регистра; Он обрабатывает ß как ss и использует сортировку по DIN-1. К сожалению, как и все недвоичные Unicode-сортировки, это относится к u = ü, что является ужасной неприятностью, потому что поиск "Muller" также вернет "Müller". Вам придется обойти это, установив сопоставление Umlaut-aware в режиме реального времени.

или utf8_bin

В этом сопоставлении нет проблемы с u = ü, но возможны только поисковые запросы, чувствительные к регистру.

Я не совсем уверен, есть ли какие-либо другие побочные эффекты для использования двоичной сортировки; Я задал вопрос об этом здесь.


Эта страница руководства mySQL дает хороший обзор различных сопоставлений и последствий, которые они приносят в повседневном использовании.

Здесь - общий обзор доступных сопоставлений в mySQL.