utf8mb4_0900_ai_ci utf8_unicode_ci utf8_spanish_ci utf8_general_ci charset mysql collation

mysql - utf8_unicode_ci - utf8_general_ci vs utf8_spanish_ci



¿Cuál de las colaciones utf8 es la mejor? (2)

Quiero una colación UTF8 para apoyar:

  • Inglés
  • persa
  • Arábica
  • francés
  • japonés
  • chino

¿ UTF8_GENERAL_CI compatible con todos estos idiomas?


Como UTF8_GENERAL_CI fue una buena decisión hace algún tiempo. Tiene algunos inconvenientes ahora.

El UTF8 de MySQL en realidad usa 3 bytes en lugar de 4, que necesita para símbolos como emojis y nuevos caracteres asiáticos.

Así que MySQL tiene un conjunto de caracteres más nuevo llamado utf8mb4 que cumple con la definición de UTF8.

Para poder admitir completamente los idiomas asiáticos, deberá elegir utf8mb4.

Si le importa la ordenación correcta en varios idiomas, use utf8mb4_unicode o utf8mb4_unicode_ci lugar de general.

Una respuesta más detallada que puedes encontrar en ¿Cuál es la diferencia entre utf8_general_ci y utf8_unicode_ci?


Si, eso es correcto. UTF-8 es una codificación para el conjunto de caracteres Unicode, que admite prácticamente todos los idiomas del mundo.

Creo que la única diferencia viene con la clasificación de sus resultados, diferentes letras pueden venir en un orden diferente en otros idiomas (acentos, diéresis, etc.). Además, comparar a con ä podría comportarse de manera diferente en otra recopilación.

El sufijo _ci significa que la clasificación y la comparación son insensibles a mayúsculas y minúsculas.

http://www.collation-charts.org/ puede ser de su interés.