2009-08-05 5 views
27

Когда я создаю новую базу данных MySQL через phpMyAdmin, у меня есть возможность выбрать сортировку (например, по умолчанию, armcii8, ascii, ... и UTF-8). Я знаю, это UTF-8, так как я всегда вижу это в исходном HTML-коде. Но что такое сортировка по умолчанию? Каковы различия между этими выборами и какой из них я должен использовать?В MySQL, какую сортировку я должен выбрать?

+0

Если вы хотите более точно, используйте utf8_unicode_ci. обратитесь к http://stackoverflow.com/questions/367711/what-is-the-best-collation-to-use-for-mysql-with-php –

+0

unicode_general_ci рекомендуется по одному на wordpress codex: https: // codex. wordpress.org/Installing_WordPress – stare

ответ

15

Сортировка на самом деле не по умолчанию, она дает вам настройку по умолчанию в качестве первого выбора.

То, о чем мы говорим, это collation или набор символов, который ваша база данных будет использовать в своих текстовых типах. Ваш вариант по умолчанию обычно основан на региональных настройках, поэтому, если вы не планируете глобализоваться, это обычно остроумно.

Коллажи также определяют чувствительность к случаю и акценту (т. Е. «Большой», «большой», с CI, это так). Посмотрите MySQL list для всех вариантов.

+0

Как насчет UTF-8? Я видел wordpress, используя UTF-8? Должен ли я использовать UTF-8 ?? – bbtang

+0

UTF-8 - Unicode. Если вы не в англоязычной стране, это очень хорошая ставка, чтобы использовать ее. – Eric

+4

Я вижу. Наш проект нацелен на США и весь мир, поэтому я думаю, что было бы лучше использовать UTF-8, верно? – bbtang

21

Collation сообщает базе данных, как выполнить сопоставление строк и сортировку. Он должен соответствовать вашей кодировке.

Если вы используете UTF-8, то сортировка должна быть utf8_general_ci. Это будет сортироваться в порядке Unicode (без учета регистра), и он работает для большинства языков. Он также сохраняет порядок ASCII и Latin1.

Стандартная сортировка обычно латинская 1.

+2

Не используйте какие-либо из расчетов utf8. Они сохраняют только до 3 байтовых кодовых точек. Правильный UTF-8 называется utf8mb4, который допускает до 4 байтов и, следовательно, включает emojis. https://mathiasbynens.be/notes/mysql-utf8mb4 – user1318499

+0

@ user1318499 Можете ли вы преобразовать свой комментарий в ответ и дать более подробную информацию? –

+0

Я забыл большую часть этого материала, так что я не уверен, что пишу больше, но вся информация должна быть в ссылке в моем комментарии, если вы хотите сделать это самим ответом. – user1318499

Смежные вопросы