Jose Gosálbez | Diseñador Gráfico Jose Gosálbez | Diseñador Gráfico Jose Gosálbez | Diseñador Gráfico Jose Gosálbez | Diseñador Gráfico
  • Sobre mí
  • Trabajos
  • Blog
  • Contacto
Jose Gosálbez | Diseñador Gráfico Jose Gosálbez | Diseñador Gráfico
  • Sobre mí
  • Trabajos
  • Blog
  • Contacto
Ago 31

WordPress: Errores de importación MySQL (utf8mb4)

  • 31 agosto, 2015
  • Jose Gosálbez
  • 9 Comments
  • Diseño Web
  • alojamiento, bases de datos, local, migración, mysql, servidor, utf8, utf8mb4, wordpress

Cuando se trata de migrar una web en WordPress de un servidor a otro, suelo tomarme el tiempo de hacerlo más o menos manualmente. O sea, que no utilizo (aún) un plugin (como Duplicator). Siempre que sea posible me gusta aprender a hacer las cosas de forma manual para que, cuando pase a hacerlas de forma asistida, haya podido asimilar un conocimiento de base que me ayude a prevenir y solucionar dificultades en el proceso.

Errores al importar la base de datos MySQL

El caso es que nunca había tenido ninguna dificultad destacable, dejando a un lado los comprensibles tropiezos del comienzo. Hasta que hace unas semanas me tropecé con un escollo un poco más grande de lo normal. Estaba instalando un WordPress directamente en el servidor del alojamiento definitivo y encontré dificultades persistentes importando los datos de ejemplo del tema que íbamos a utilizar. Me decidí a instalarlo en local y ver si el problema era del alojamiento.

Desde el servidor en local (en mi ordenador) no tuve ningún inconveniente, así que hice la instalación del WordPress de la última versión que había en el momento (4.3.3, creo recordar). Instalé el tema e importé los datos de ejemplo, sin contratiempos. Hasta aquí todo perfecto.

El siguiente paso era ya el habitual: copia de seguridad de ficheros por ftp, copia de la base de datos con PHPMyAdmin por otro, llevarlo todo al servidor online, hacer los ajustes de cambio de dominio… pero no. Me daba un error recurrente al importar la base de datos y no me admitía el formato de la base de datos.

Errores de importación base de datos MySQL (utf8 -> utf8mb4)

Cambios en WordPress y MySQL

Después de darle unas cuantas vueltas encontré información en la Web sobre un cambio a partir de la versión 4.2 de WordPress según el cual —si la base de datos está alojada en un servidor de bases de datos MySQL versión 5.5.3 o superior (entre otras condiciones)— la codificación de las tablas de la base de datos pasará de “utf8” a “utf8mb4”.

El caso es que mi servidor local —origen— tenía una versión superior a la 5.5.3 de MySQL y por lo tanto la base de datos codificada en “utf8mb4”, mientras que el alojamiento destino —en 1and1— tenía un servidor MySQL 5.1, de versión inferior a la de corte, y no poseía la funcionalidad de utilizar la nueva codificación. De ahí los errores en la importación de los datos.

La solución

Independientemente de que ya hay formas más automatizadas de hacer la conversión del formato de codificación de caracteres de la base de datos yo opté por una solución más “directa”: instalar de nuevo en local una versión de WordPress anterior a la 4.2 y sobre ésta el tema y la importación de contenido. En este caso, aunque mi versión local de MySQL era superior a la que comienza a admitir la codificación en “utf8mb4” el WordPress no hizo uso de ella y las tablas fueron exportables 100%.

Me decanté por esta solución puesto que no era mucho trabajo volver a instalar y en caso de la conversión de la base de datos, cualquier error no percibido podría dejar rastros que en el futuro causaran algún funcionamiento inesperado de la web. En todo caso me imaginé qué hubiera ocurrido si hubiera ocurrido lo mismo en alguno de los proyectos que realizo completamente en local hasta que están listas para migrar a sus alojamientos online definitivos… y se me ponen los pelos de punta 😀

Una vez la web en marcha en su alojamiento definitivo actualicé a la última versión de WordPress sin miedo a tener problemas con la codificación (que sigue siendo la más limitada “utf8”).

Conclusión

A la hora de desarrollar un sitio web en WordPress en local para posteriormente subirlo a su servidor online, es importante tener en cuenta:

  • Si tenemos un WordPress 4.2 o superior funcionando sobre un servidor MySQL 5.5.3 o superior creará las tablas codificadas en “utf8mb4”.
  • Si el servidor MySQL de nuestro alojamiento es de una versión anterior a la 5.5.3 no será compatible con “utf8mb4” por lo que tendremos problemas de compatibilidad de codificación en la importación de la base de datos y nos dificultará la migración.

En este caso podemos plantearnos:

  • Actualizar o cambiar el alojamiento a uno con MySQL 5.5.3 o superior.
  • Realizar el desarrollo y puesta a punto del sitio web el local en una versión de WP inferior a la 4.2 (poco recomendable pues no sabemos si al actualizar en vivo pueden haber cambios en el funcionamiento).
  • Hacernos con una herramienta de conversión de bases de datos MySQL que nos resuelva la papeleta y comprobar que nos funciona bien antes del “momento de la verdad”.

Referencias

La madre del cordero: The utf8mb4 Upgrade

La solución con plugin: Migrating a WordPress site from utf8mb4 to utf8

La referencia en el Codex de WordPress: Version 4.2 (WordPress Codex)

La referencia en Ayuda WordPress: WordPress 4.2 comienza la recta final

La referencia en MySQL.com: Changes in MySQL 5.5.3 (2010-03-24, Milestone 3)

Más sobre Unicode UTF8 -> UTF8MB4: 10.1.11 Upgrading from Previous to Current Unicode Support

  • Facebook
  • Twitter
  • Pinterest
  • LinkedIn
  • E-Mail

About The Author

Diseñador gráfico, maquetador y formador.

Related Posts

  • WordPress.com frente a WordPress autoalojado30 junio, 2015

9 Comments

  1. Manuel Salguero
    16 septiembre, 2015 at 10:39 am · Responder

    Gracias Jose por tu aportación.
    Interesante artículo, desconocía ese nuevo formato de codificación, y esta problemática.
    En fín, otra cosa más a tener en cuenta a la hora de las migraciones…
    Un saludo.

  2. WordPress: Errores de importación MySQL (utf8mb4)… | Software Simple
    16 septiembre, 2015 at 10:50 am · Responder

    […] WordPress: Errores de importación MySQL (utf8mb4) organigrafic.com/wordpress-erro… […]

  3. Jose Gosálbez
    18 septiembre, 2015 at 9:44 am · Responder

    Hola Manuel,
    Me alegro de que te haya resultado interesante. Yo también he aprendido en tu blog, especialmente en el artículo sobre la migración de servidor y la realización de DNS: http://hostingsimple.es/2015/01/08/como-hacer-una-migracion-de-servidor-perfecta-y-rapida-sin-esperar-la-replicacion-de-dns/
    Un saludo!

  4. Santiago Arrobo
    14 febrero, 2016 at 5:05 pm · Responder

    Hola, hice lo que recomiendas pero el servidor de destino sigue supuestamente encontrando una línea que llama a utf8mb4, abro esa db en sublime text y es un comentario. Lo borré e intenté nuevamente y nada que funciona.

    Trabajé con WP 4.1, cualquier ayuda será muy a agradecida.

    Saludos!

  5. Jose Gosálbez
    17 febrero, 2016 at 2:00 pm · Responder

    ¡Hola Santiago!
    En principio gracias por contribuir a la entrada.
    No entiendo que tengas una tabla codificada en utf8mb4 (no sé si te refieres a eso con la «línea que llama a utf8mb4»).
    Mi ejemplo parte de una instalación limpia de un WordPress 4.1, ósea que no hay una base de datos previa que se importa.
    ¿Podrías detallarme más el proceso que has seguido para que ver si puedo ayudarte?
    De todas formas, si en tu caso hay algo ya en la base de datos quizás te interese el enlace que he colocado al final sobre un plugin que hace la migración, aunque yo no lo he probado. Si lo haces me cuentas 😉
    http://galengidman.com/2015/07/07/migrating-a-wordpress-site-from-utf8mb4-to-utf8/
    Un saludo y gracias por pasarte por aquí 😉
    Jose.

  6. Óscar Domínguez
    24 marzo, 2016 at 1:22 pm · Responder

    Hola. Aquí tenéis la solución que funciona al 100%:
    http://www.oscar-dominguez.com/blog/desarrollo-web/solucionar-error-al-importar-una-base-datos-mysql-utf-8/

    Saludos.

  7. Jose Gosálbez
    29 marzo, 2016 at 9:44 am · Responder

    Hola Óscar!
    No acabo de ver que lo que comentas solucione el tema del cambio de codificación “utf8” a “utf8mb4” que ocurre con el cambio de versiones de WP y MySQL al que se refiere mi artículo. Sí que es práctico para tener claro que hay que marcar la opción de “utf8” al exportar la base de datos (con PHPMyAdmin sale por defecto).
    Quizás me pierdo algo o no acabo de entenderlo, ¿podrías explicarte mejor?
    En todo caso, gracias por tu comentario.
    Un saludo,
    Jose.

  8. Mauricio Zalles
    2 junio, 2019 at 2:43 am · Responder

    Hola, yo lo he realizado ya en 3 oportunidades con el método de exportar desde el origen con compatibilidad mysql4, lo vi en el siguiente articulo, nisiquiera hay que leer todo solo imagenes y 2 pasos jejeje 1.- exportar personalizado y 2.- cambiar el campo de compatibilidad, después la subimos al nuevo servidor y listo detalles en el enlace :

    https://www.nerion.es/soporte/solucion-al-error-1273-unknown-collation-utf8mb4_unicode_ci/

    Saludos

    • Jose Gosálbez
      3 junio, 2019 at 5:31 pm · Responder

      ¡Hola Mauricio!
      No puedo probarlo ahora, pero parece una solución lógica. Desconocía esa opción de salida o si existía en la versión de PHPMyAdmin que yo utilizaba en ese caso. Yo lo probaría antes de seguir con el desarrollo, pero si la opción está pulida no debería de dar problemas.
      ¡Gracias por tu aporte!
      Un saludo

Leave a reply Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Entradas recientes

  • Mejorar la maquetación y la legibilidad de un libro
  • Justificar el texto es sólo una opción
  • Cualquier cosita es cariño
  • Te cuento cómo trabajo
  • Creando dos flujos de texto paralelos en InDesign

Comentarios recientes

  • Jose Gosálbez en Mejorar la maquetación y la legibilidad de un libro
  • Quique en Mejorar la maquetación y la legibilidad de un libro
  • Jose Gosálbez en Justificar el texto es sólo una opción
  • Bruce en Justificar el texto es sólo una opción
  • Jose Gosálbez en Salvando cursivas y negritas al importar texto en InDesign

Archivos

  • junio 2018
  • septiembre 2017
  • mayo 2017
  • noviembre 2015
  • agosto 2015
  • julio 2015
  • junio 2015
  • marzo 2015
  • febrero 2015
  • noviembre 2014
  • agosto 2014
  • julio 2014
  • mayo 2014
  • febrero 2014
  • junio 2013
  • mayo 2013
  • abril 2013
  • marzo 2013

Categorías

  • Análisis de diseños
  • Creatividad
  • Diseño Gráfico
  • Diseño Web
  • Letras
  • Maquetación
  • Productividad
  • Redes Sociales
  • Reflexiones
  • Tecnología
  • Tipografía

Contacto

Carrer Xàtiva, 14, pta. 60
46002 València
E-Mail: jose@josegosalbez.es

Últimas entradas

  • Mejorar la maquetación y la legibilidad de un libro 28 junio, 2018
  • Justificar el texto es sólo una opción 29 septiembre, 2017
  • Cualquier cosita es cariño 13 septiembre, 2017

Últimos proyectos

Web Eusebio Sempere
Diseño Web Evidence Portada
Diseño y maquetación de Tarifas Distribuciones Pardo 2017
Diseño cartel caballete autoescuela
© 2013-2018 José María Gosálbez Ruete - Política de privacidad
Esta web utiliza cookies para asegurar que ofrece una buena experiencia de usuario. Si continúas utilizando este sitio asumiré que estás de acuerdo.Estoy de acuerdoLeer más