Я создаю веб-сайт на немецком языке, поэтому я буду использовать символы типа ä, ü, ß
и т.д. Итак, каковы ваши рекомендации?
Какова наилучшая сортировка MySQL для немецкого языка?
Ответ 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.
Ответ 2
utf-8-general-ci
или utf-8-unicode-ci
.
Чтобы узнать разницу: UTF-8: Общее? Бен? Unicode?