“Ha fallado la actualización. No se ha podido actualizar la entrada en la base de datos.”
Si al intentar guardar un borrador o una entrada en WordPress ves este error y no sabes por qué, has llegado al sitio adecuado. Hoy te explico cómo resolver este error que es posible que se deba a que has añadido emojis en tu contenido. ¿Es así? En caso afirmativo, sigue leyendo este artículo en el que te explico cómo corregir este error paso a paso, con dos soluciones diferentes para que puedas aplicar la que mejor se adapte a tu caso.

- ❌ ¿Por qué WordPress no permite guardar emojis?
- 💡 Solución al error "Ha fallado la actualización. No se ha podido actualizar la entrada en la base de datos"
- ✅ Solución 1: Modificar la base de datos (Método recomendado)
- Paso 1: Verificar la codificación de la base de datos
- Paso 2: Cambiar la codificación de la base de datos
- Paso 3: Configurar WordPress para usar utf8mb4
- Paso 4: Limpiar la caché de la base de datos (opcional)
- Paso 5: Probar si el error se ha solucionado
- ✅ Solución 2: Código en functions.php (Sin acceso a phpMyAdmin)
❌ ¿Por qué WordPress no permite guardar emojis?
El problema surge porque la base de datos de tu WordPress no está configurada para admitir caracteres especiales como emojis. Muchas instalaciones antiguas usan utf8_general_ci, que no soporta estos símbolos.
WordPress necesita una base de datos con codificación utf8mb4 para almacenar los emojis correctamente, pero muchas instalaciones antiguas aún usan utf8_general_ci, que no admite emojis y genera ese error al intentar guardar una página o entrada.
💡 Solución al error “Ha fallado la actualización. No se ha podido actualizar la entrada en la base de datos”
A continuación te explico en detalle dos posibles soluciones, para que puedas resolver el error y así utilizar emojis en WordPress.
- Solución 1 (recomendada): Modificar la base de datos desde phpMyAdmin, convirtiéndola con todas sus tablas a utf8mb4_unicode_ci para que WordPress pueda guardar emojis sin fallos.
- Solución 2 (alternativa): Añadir un código al fichero
functions.phppara convertir los emojis en html antes de guardarlos, así se evitarán los errores sin necesidad de modificar la base de datos.
La mejor opción es la primera, aunque si no tienes acceso al servidor podrás resolverlo igualmente con la segunda solución.
✅ Solución 1: Modificar la base de datos (Método recomendado)
Si tienes acceso a phpMyAdmin en tu servidor, lo mejor es actualizar la codificación de la base de datos para que soporte emojis de manera nativa. Veamos paso a paso cómo hacerlo.
Paso 1: Verificar la codificación de la base de datos
1️⃣ Abre phpMyAdmin desde tu panel de hosting. Si como yo utilizas Raiola (uno de mis hostings favoritos) encontrarás la sección fácilmente a través de cpanel.

2️⃣ Una vez en phpMyAdmin, en el menú lateral izquierdo, selecciona tu base de datos (tu_nombre_base_de_datos).

3️⃣ Ve a la pestaña Operaciones y busca el campo Comparación de cotejamiento (Collation). Si ves utf8_general_ci o utf8_unicode_ci, significa que tu base de datos no admite emojis.
Paso 2: Cambiar la codificación de la base de datos
1️⃣ Mantente en la misma pestaña Operaciones, sección Comparación de cotejamiento.
2️⃣ En el desplegable, selecciona utf8mb4_unicode_ci.
3️⃣ Marca la casilla de verificación que ves en la parte inferior que dice “Modificar el cotejamiento de todas las tablas”.
4️⃣ Al hacerlo, te aparecerá un nuevo check que también has de marcar “Cambiar la intercalación de todas las columnas de las tablas”.
5️⃣ Pulsa abajo a la derecha el botón Continuar para aplicar los cambios.

Paso 3: Configurar WordPress para usar utf8mb4
1️⃣ Accede a tu hosting por FTP o el Administrador de Archivos de cPanel.
2️⃣ Abre el archivo wp-config.php.
3️⃣ Busca la línea que define la codificación de la base de datos:
define('DB_CHARSET', 'utf8');
4️⃣ Cámbiala por:
define('DB_CHARSET', 'utf8mb4');
define('DB_COLLATE', 'utf8mb4_unicode_ci');
5️⃣ Guarda los cambios.
Paso 4: Limpiar la caché de la base de datos (opcional)
1️⃣ En phpMyAdmin, ve a la pestaña SQL.
2️⃣ Ejecuta este comando:
FLUSH TABLES;
3️⃣ Presiona Ejecutar.
4️⃣ Si te da error es posible que tu hosting no permita ejecutar FLUSH TABLES; por razones de seguridad. En ese caso, simplemente prueba a cerrar sesión en phpMyAdmin y volver a entrar para asegurarte de que los cambios se aplicaron.
Paso 5: Probar si el error se ha solucionado
1️⃣ Ve a WordPress y abre una nueva entrada.
2️⃣ Añade un emoji a algún artículo o crea uno nuevo y guarda el borrador.
3️⃣ Si todo ha funcionado bien ¡el error ha desaparecido y podrás guardar tu contenido sin problemas!
✅ Solución 2: Código en functions.php (Sin acceso a phpMyAdmin)
Si no puedes acceder a phpMyAdmin, puedes evitar el error de emojis añadiendo un pequeño código al contenido del fichero functions.php de tu tema hijo. Para hacerlo de forma segura y mucho más cómoda te recomiendo no editar el archivo manualmente sino usar un plugin para editar el contenido de functions.php como te explico en este artículo.
Paso 1: Copia el código
1️⃣ Copia el siguiente código.
add_filter( 'wp_insert_post_data', function( $data, $postarr ) {
if ( ! empty( $data['post_content'] ) ) {
$data['post_content'] = wp_encode_emoji( $data['post_content'] );
}
return $data;
}, 99, 2 );
Paso 2: Añadir el código a functions.php
1️⃣ Pega el código en el fichero functions.php a través de un plugin de personalización de código o editándolo directamente (estará ubicado en la carpeta raiz de tu tema hijo).
👉 Si no tienes claro qué es el fichero functions.php y todas las maravillas que podemos hacer con el te sugiero leer este artículo de Fernando Tellado.
Según el plugin que utilices, accede a Código Personalizado o Fragmentos de código > Añadir nuevo.
2️⃣ Ponle un título, por ejemplo: “Solución emojis en WordPress”.
3️⃣ Copia y pega el siguiente código en el campo de código. Si lo prefieres, también puedes añadir el siguiente código directamente en el fichero functions.php de tu tema hijo.
add_filter( 'wp_insert_post_data', function( $data, $postarr ) {
if ( ! empty( $data['post_content'] ) ) {
$data['post_content'] = wp_encode_emoji( $data['post_content'] );
}
return $data;
}, 99, 2 );
4️⃣ En la sección Ejecutar en, elige “Ejecutar en todas partes”.
5️⃣ Haz clic en Guardar y activar.
Paso 3: Probar si el error se ha solucionado
1️⃣ Ve a WordPress y abre una nueva entrada.
2️⃣ Añade un emoji a algún artículo o crea uno nuevo y guarda el borrador.
3️⃣ Si todo ha funcionado bien, ¡el error ha desaparecido!
Con este tutorial, ahora puedes usar emojis sin errores en WordPress y mejorar la experiencia de usuario en tu web.
¿Te sirvió esta guía? Déjame un comentario y dime si te funcionó o si tienes dudas. ¡Te ayudo! 😊
Síntesis del artículo 📌
Si WordPress muestra el error “Ha fallado la actualización. No se ha podido actualizar la entrada en la base de datos”, es posible que se deba a los emojis. En este artículo, te explico por qué ocurre este problema y cómo solucionarlo con dos métodos efectivos: modificando la base de datos desde phpMyAdmin o, si no tienes acceso a ella, usando un código en functions.php. Ambas soluciones te permitirán guardar emojis sin errores y mejorar la compatibilidad de tu web.
Aviso de afiliación: Algunos de los enlaces de este artículo son de afiliado. Solo recomiendo servicios, productos y formaciones que he probado personalmente y que aportan un valor real. Si decides comprar a través de ellos, no pagarás más, quizá puedas beneficarte de algún descuento y estarás apoyando mi trabajo. ¡Gracias!

