Si estás importando el contenido de una base de datos, es posible que te haya aparecido el error #1273 – Collation unknow: ‘utf8mb4_0900_ai_ci’.
Te explico cómo solucionarlo, es muy fácil y rápido
Collation unknow: ‘utf8mb4_0900_ai_ci’
Es muy posible que hayas creado una base de datos en un servidor, estés intentando importar en él el contenido de una base de datos que has obtenido de otro servidor y te aparezca este error. Con lo que tu trabajo se va al traste porque no habrá manera de que puedas seguir añadiendo las tablas que quedan pendientes de la base de datos original.
Pero en realidad sí, ya que sólo se trata de cambiar un dato que hará compatibles la origen y la destino: el cotejamiento.
¿Qué es el cotejamiento en una base de datos?
Al trabajar con bases de datos, se tratan con muchos juegos de caracteres del idioma en que estamos trabajando, incluso mayúsculas, minúsculas, acentos y variaciones, que necesitamos que sean compatibles o que sean «entendidos» por otros sistemas o bases de datos.
Para ello se utilizan una serie de reglas que determinan si dos caracteres son en realidad iguales o son diferentes, tanto si están en mayúsculas como si no, acentuadas o no, o incluso si son caracteres especiales. De esta manera, con las reglas de cotejamiento, podemos comparar y ordenar cadenas de texto y seleccionar valores en las consultas SQL.
Pero es muy importante saber utilizar bien estas reglas de cotejamiento para que no aparezcan errores como el que trata este post. De hecho, utf8mb4_0900_ai_ci es un tipo de cotejamiento de datos.
¿Por qué aparece el error Collation unknow: ‘utf8mb4_0900_ai_ci’ o #1273 – Collation desconocida: ‘utf8mb4_0900_ai_ci’?
Si nuestra base de datos original trabaja con un tipo de cotejamiento y la de destino con otro, puede haber este conflicto que genere el error en cuestión.
Lo más práctico es que cambiemos el cotejamiento de la base original a uno que sea ampliamente compatible, con lo que la base de destino la aceptará sin problemas y además no afectará a la información contenida.
utf8mb4_general_ci será el cotejamiento general que adoptaremos para el caso concreto el error utf8mb4_0900_ai_ci
Solución a Collation unknow: ‘utf8mb4_0900_ai_ci’
- Descomprime la base de datos original, si está comprimida
- Con un editor de texto, busca la cadena utf8mb4_0900_ai_ci y reemplázala por utf8mb4_general_ci en todas sus coincidencias
- Comprime de nuevo la base de datos resultante
- Importa su contenido en tu gestor mysql
No debería aparecer el error. Si te siguiera apareciendo otro similar, sería porque hay otras reglas de cotejamiento. Búscalas y sustitúyelas de la misma manera, no debería haber más problemas. Es un error bastante habitual cuando mezclamos MariaDB con MySQL pero ya ves que es de fácil solución (en este post hablaba más sobre cosas de bases de datos)
Espero que te haya servido. Mucha suerte!!!!