Me encontré con un problema inesperado al escribir un post en uno de mis blogs: necesitaba usar un emoji, algo poco habitual en mi contenido. Hasta ese momento, nunca había tenido problemas con ello, pero al intentar guardar el post, apareció una barra rosa en la parte superior de WordPress advirtiéndome que los datos no se habían podido guardar correctamente en la base de datos.
Mi primera reacción fue buscar soluciones simples. Instalé un plugin para gestionar emojis, pero el problema persistía. Luego pensé que quizá algún plugin reciente estaba causando el conflicto, así que desactivé todos para probar… y nada. Actualicé la versión de WordPress, limpié cachés, pero seguía sin funcionar.
Cuando las soluciones básicas no resolvieron el problema, decidí investigar más a fondo. Descubrí que la raíz del inconveniente estaba en la configuración de la base de datos MySQL. Resulta que, para almacenar emojis, las bases de datos necesitan un conjunto de caracteres específico: utf8mb4
. Este estándar permite guardar caracteres Unicode como los emojis, algo que configuraciones más antiguas como utf8
o utf8mb3
no admiten.
Si te está ocurriendo lo mismo, no te preocupes. Aunque pueda parecer técnico, este problema tiene solución. Solo necesitas acceso como administrador a la base de datos de tu WordPress. Aunque esta guía está orientada a usuarios con algo de experiencia, he estructurado los pasos para que incluso alguien sin conocimientos avanzados pueda seguirlos y resolver el problema.
El primer paso es ubicar la base de datos que utiliza tu instalación de WordPress. Una vez dentro de phpMyAdmin, selecciona la base de datos y haz clic en la pestaña “Estructura”. Aquí, debes revisar si las tablas tienen configurados los códigos utf8mb4_unicode_ci
o utf8mb4_general_ci
. Si no es así, será necesario actualizarlas.
Importante: Haz una copia de seguridad de tu base de datos
Antes de realizar cualquier cambio, es fundamental proteger tus datos. Ve a la pestaña “Exportar” en phpMyAdmin, selecciona la opción “SQL” y asegúrate de exportar tanto la estructura como los datos de tu base de datos.
Identifica el prefijo de tus tablas
Cada instalación de WordPress utiliza un prefijo para las tablas de su base de datos. Por defecto, este prefijo suele ser wp_
, pero podría ser otro diferente según tu configuración. Por ejemplo, en mi caso, el prefijo de las tablas era wpor_
.
En la siguiente imagen, puedes observar que mi tabla wp_posts
ya fue actualizada, pero en la tabla superior se muestra el código previo, que no era compatible con emojis.

¿Cómo se soluciona?
Ahora que ya tienes una copia de seguridad de tu base de datos, vamos a solucionar el problema. Sigue estos pasos:
- Ve a la pestaña “SQL” en phpMyAdmin.
- Teclea el siguiente comando, ajustando el prefijo de tus tablas según corresponda:
ALTER TABLE wp_posts CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
- Sustituye
wp_
por el prefijo de tu base de datos.
- Cambia
posts
por el nombre de la tabla que deseas actualizar.
Con esto, el problema ya estaría solucionado.
¿Qué pasa si tienes problemas con columnas específicas?
Si encuentras errores en columnas específicas de la tabla, puedes modificarlas individualmente utilizando los siguientes comandos como referencia:
ALTER TABLE wp_posts MODIFY COLUMN post_title VARCHAR(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE wp_posts MODIFY COLUMN post_content LONGTEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE wp_posts MODIFY COLUMN post_excerpt TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
De nuevo, recuerda sustituir wp_
y posts
por el prefijo y el nombre de la tabla correspondiente.
Verifica el archivo wp-config.php
Asegúrate de que el archivo wp-config.php
esté configurado para usar utf8mb4
. Busca la línea:
define('DB_CHARSET', 'utf8');
Cambia utf8
por utf8mb4
:
define('DB_CHARSET', 'utf8mb4');
Prueba guardar un artículo con emojis
Después de realizar estos cambios, intenta guardar un artículo con emojis. Si todo está configurado correctamente, no deberías tener más problemas.
Preguntas comunes:
- ¿Qué pasa si no tengo acceso al servidor para hacer cambios avanzados?
Contacta a tu proveedor de hosting y solicita que actualicen la codificación de tu base de datos autf8mb4
y confirmen que la versión de MySQL es compatible. - ¿Por qué usar
utf8mb4_unicode_ci
en lugar deutf8mb4_general_ci
?utf8mb4_unicode_ci
ofrece mejor compatibilidad y ordenamiento lingüístico, especialmente para idiomas con caracteres especiales.