Debe utilizar una intercalación Unicode. Puede configurarlo de forma predeterminada en su sistema o en cada campo de sus tablas. Existen los siguientes nombres de intercalación Unicode, y estas son sus diferencias:
utf8_general_ci es una colación muy simple. Simplemente, elimina todos los acentos, luego los convierte a mayúsculas y usa el código de este tipo de letra de resultado de "letra base" para comparar.
utf8_unicode_ci utiliza la tabla de elementos de intercalación Unicode predeterminada.
Las principales diferencias son:
- utf8_unicode_ci admite las llamadas expansiones y ligaduras, por ejemplo:la letra alemana ß (U+00DF LETTER SHARP S) se ordena cerca de "ss" La letra Œ (U+0152 LATIN CAPITAL LIGATURE OE) se ordena cerca de "OE".
utf8_general_ci no admite expansiones/ligaduras, ordena todas estas letras como caracteres individuales y, a veces, en el orden incorrecto.
- utf8_unicode_ci es generalmente más preciso para todos los scripts. Por ejemplo, en bloque cirílico:utf8_unicode_ci está bien para todos estos idiomas:ruso, búlgaro, bielorruso, macedonio, serbio y ucraniano. Mientras que utf8_general_ci está bien solo para el subconjunto ruso y búlgaro del cirílico. Las letras adicionales utilizadas en bielorruso, macedonio, serbio y ucraniano no se ordenan bien.
+/- La desventaja de utf8_unicode_ci es que es un poco más lento que utf8_general_ci.
Entonces, dependiendo de si sabe o no qué idiomas/caracteres específicos va a usar, le recomiendo que use utf8_unicode_ci, que tiene una cobertura más amplia.