Si ha cambiado de host web o ha cambiado la base de datos de su blog de WordPress, es posible que encuentre un problema en el que los caracteres extranjeros no se muestren correctamente en su sitio. En lugar de los caracteres extranjeros, verá muchos signos de interrogación (???) en su lugar. En este artículo, le mostraremos cómo solucionar este problema y mostrar el idioma adecuado sin perder ningún dato.
¿Qué es la codificación de caracteres?
Antes de pasar a las causas y soluciones a este problema, debemos tener claro la codificación de caracteres. Las palabras y oraciones en cualquier idioma se componen de caracteres. Estos caracteres se agrupan en conjuntos de caracteres. Cada carácter se almacena en la memoria de la computadora usando un código binario. Usando este código, la computadora puede decodificar el carácter real. Este código binario se denomina codificación de caracteres.
Diferentes idiomas usan diferentes códigos para referirse a diferentes caracteres. El mismo código en dos idiomas puede significar caracteres completamente diferentes. Esto se decide según la codificación de caracteres que utiliza la computadora.
Es posible que vea algunos de los conjuntos de caracteres en W3Schools que se utilizan en Internet. Dirígete a Wikipedia para el juego completo de juegos de caracteres.
Has visto ??? en tu blog de WordPress?
Puede haber algunas causas que lleven a mostrar los caracteres incorrectos. En primer lugar, debe asegurarse de que está utilizando el mismo conjunto de caracteres en su archivo wp-config.php. Busque la siguiente línea y asegúrese de que no esté comentada:
define('DB_CHARSET', 'utf8');
En segundo lugar, debe verificar si su tema está utilizando el conjunto de caracteres que se establece en el archivo wp-config.php. Busque la siguiente línea en su HTML:
Y, por último, debe verificar que el contenido de su base de datos esté almacenado con la misma codificación de conjunto de caracteres que está utilizando en su archivo wp-config.php y HTML. Si está utilizando phpMyAdmin para administrar su base de datos, podrá ver la intercalación del servidor actual en Configuración general.
Cambiar el conjunto de caracteres de la base de datos completa de WordPress no es una tarea fácil y debe hacerse con mucho cuidado. Estos son los pasos para convertir una base de datos a su conjunto de caracteres de elección.
1. En primer lugar, debemos verificar el conjunto de caracteres actual de la base de datos. Aquí está la consulta SQL para verificar:
SHOW VARIABLES LIKE "character_set_database";
2. Si el conjunto de caracteres no es el que desea, debe realizar una copia de seguridad de su base de datos antes de continuar.
3. Ejecute la siguiente consulta SQL para cambiar el conjunto de caracteres de la base de datos completa:
ALTER DATABASE MyDb CHARACTER SET utf8;
Cambie «MyDB» al nombre de su base de datos.
4. Ahora convierta la tabla «wp-posts» a la codificación de caracteres que desee:
ALTER TABLE wp_posts CHARACTER SET utf8;
Cambie el «wp_» si está utilizando un prefijo diferente.
Estos pasos eliminarán los signos de interrogación u otros caracteres extraños y, en su lugar, mostrarán los caracteres extranjeros adecuados. Si tiene muchas columnas en la base de datos de WordPress que están configuradas con un conjunto de caracteres personalizado, deberá cambiar el conjunto de caracteres de cada columna uno por uno.
Dado que UTF-8 es la codificación de caracteres más utilizada, si su blog usa alguna otra codificación de caracteres y desea cambiarla a UTF-8, puede usar el complemento llamado Convertidor de base de datos UTF-8. Aunque no se ha actualizado durante bastante tiempo, podrá hacer su tarea de manera eficiente. Tenga en cuenta que si tiene una base de datos grande, la conversión del conjunto de caracteres llevará mucho tiempo.
Cuéntanos tu experiencia si tienes el mismo problema.