Трябва да използвате съпоставяне на Unicode. Можете да го зададете по подразбиране във вашата система или във всяко поле на вашите таблици. Има следните имена на съпоставяне в Unicode и това са техните разлики:
utf8_general_ci е много просто съпоставяне. Той просто - премахва всички ударения - след това преобразува в главни букви и използва кода на този вид "основна буква" резултат буква за сравнение.
utf8_unicode_ci използва таблицата с елементи за съпоставяне на Unicode по подразбиране.
Основните разлики са:
- utf8_unicode_ci поддържа така наречените разширения и лигатури, например:немската буква ß (U+00DF LETTER SHARP S) е сортирана близо до "ss" Буквата Œ (U+0152 LATIN CAPITAL LIGATURE OE) е сортирана близо до "OE".
utf8_general_ci не поддържа разширения/лигатури, сортира всички тези букви като единични знаци, а понякога и в грешен ред.
- utf8_unicode_ci е по принцип по-точен за всички скриптове. Например, на блок на кирилица:utf8_unicode_ci е добре за всички тези езици:руски, български, беларуски, македонски, сръбски и украински. Докато utf8_general_ci е добре само за руски и български подмножество от кирилица. Допълнителните букви, използвани в беларуски, македонски, сръбски и украински, не са сортирани добре.
+/- Недостатъкът на utf8_unicode_ci е, че е малко по-бавен от utf8_general_ci.
Така че в зависимост от това, знаете ли или не, кои конкретни езици/знаци ще използвате, препоръчвам ви да използвате utf8_unicode_ci, който има по-широко покритие.