La migración de un sitio web puede traer consigo problemas inesperados, especialmente cuando se trata de caracteres extraños, símbolos Unicode o errores de codificación. Al trasladar un sitio de un servidor a otro, los cambios en la versión de la base de datos pueden causar fallos en la representación de caracteres especiales, emojis e incluso ciertos idiomas.
El plugin Duplicator, una herramienta popular para la migración de sitios WordPress, no tiene la capacidad de reparar o convertir datos automáticamente si el entorno del nuevo servidor no es compatible con la configuración original. Sin embargo, existen varias soluciones para resolver estos problemas de codificación de caracteres.
Solución A: Corrección de caracteres extraños y símbolos Unicode
Cuando aparecen caracteres ilegibles como “�” o “????”, el problema suele estar relacionado con la configuración de la codificación de la base de datos. Aquí algunas opciones para solucionarlo:
1. Modificar el archivo wp-config.php
En muchos casos, WordPress define la codificación de la base de datos en wp-config.php
con las siguientes líneas:
define("DB_CHARSET", "utf8mb4");
define("DB_COLLATE", "");
Si aparecen errores, prueba cambiando utf8mb4
por utf8
, ya que algunos servidores no manejan bien la codificación más avanzada.
También puedes probar con combinaciones como:
define("DB_CHARSET", "utf8");
define("DB_COLLATE", "utf8_general_ci");
Es importante probar diferentes combinaciones y verificar si los caracteres se muestran correctamente.
2. Configurar la codificación durante la instalación con Duplicator
Si estás utilizando Duplicator para migrar un sitio, en el Paso 2 del instalador, prueba ajustar las siguientes opciones:
- Charset:
utf8mb4
- Collation:
utf8mb4_unicode_ci
Si el problema persiste, intenta cambiar utf8mb4
por utf8
en ambas configuraciones.
3. Verificar la metaetiqueta de codificación en header.php
Algunas veces, el servidor no envía correctamente la codificación de caracteres en la cabecera Content-Type
, lo que hace que los navegadores intenten adivinar la codificación, generando errores.
Para asegurarte de que la codificación está definida correctamente, revisa el archivo header.php
de tu tema y añade la siguiente línea en la sección <head>
:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
Si notas que la línea ya está presente pero contiene comillas incorrectas o caracteres extraños, corrígelo manualmente.
4. Corregir la codificación de la base de datos manualmente
Si los pasos anteriores no funcionan, es posible que necesites realizar una conversión manual de la base de datos.
- Descarga el archivo
database.sql
de tu sitio migrado. - Ábrelo con Notepad++ o un editor de código similar.
- Ve al menú Codificación > Convertir a UTF-8 sin BOM.
- Guarda el archivo y vuelve a importarlo en tu base de datos.
Esto puede ayudar a corregir problemas de codificación generados durante la migración.
Solución B: Problemas con caracteres internacionales
Si el sitio maneja caracteres en diferentes idiomas y hay errores tras la migración, intenta lo siguiente:
1. Revisar wp-config.php
Verifica que las líneas de DB_CHARSET y DB_COLLATE están configuradas correctamente. Si faltan, agrégalas según lo mencionado en la solución A.
2. Configurar opciones avanzadas en Duplicator
En el paso 1 del instalador de Duplicator, hay opciones avanzadas como “MySQL Charset” y “MySQL Collation”. Prueba activarlas para mejorar la compatibilidad.
3. Comprobar el archivo database.sql
Si la codificación sigue fallando:
- Abre el archivo
database.sql
en Notepad++. - En el menú Codificación, selecciona «Codificar en UTF-8».
- Guarda los cambios y vuelve a subir la base de datos.
Solución C: Problemas con archivos del sistema
Algunos problemas con caracteres pueden ocurrir en los nombres de archivos y directorios, lo que impide su correcta transferencia. Esto puede deberse a:
- Limitaciones en PHP: Algunas versiones de PHP tienen problemas con caracteres especiales en nombres de archivos.
- Compresión ZIP: El módulo ZipArchive de PHP puede no manejar bien archivos con caracteres internacionales.
Opciones para solucionarlo
- Filtrar archivos con caracteres especiales: Duplicator permite excluir archivos problemáticos y moverlos manualmente después.
- Usar shell ZIP en Duplicator Pro: Si tienes la versión Pro, habilita la opción shell_exec, que maneja mejor nombres de archivos con caracteres internacionales.
- Actualizar a PHP 7+: Las versiones recientes de PHP mejoran la compatibilidad con Unicode, evitando errores en la migración.
¿Cuándo buscar ayuda profesional?
Si después de probar estas soluciones el problema persiste, puede ser necesario trabajar con un desarrollador especializado en migraciones de WordPress. Algunas situaciones complejas pueden requerir scripts de conversión de datos o actualizaciones de servidores.
Duplicator no repara ni convierte datos automáticamente si el nuevo servidor no es compatible con el entorno original. En estos casos, es recomendable consultar a expertos en migraciones de bases de datos.
Conclusión
Los problemas de codificación de caracteres tras una migración con Duplicator pueden resolverse con ajustes en la configuración del sitio y de la base de datos.
- Modifica
wp-config.php
para probar diferentes codificaciones. - Revisa las opciones de charset y collation en Duplicator antes de completar la instalación.
- Corrige manualmente la codificación de la base de datos con Notepad++ si es necesario.
- Filtra archivos con caracteres especiales o utiliza la opción de shell ZIP en Duplicator Pro.
Siguiendo estos pasos, es posible solucionar la mayoría de los errores de codificación tras la migración de un sitio WordPress.