---
title: "Cómo convertir la codificación de la base de datos en WordPress: Guía completa"
description: "La conversión de la codificación de caracteres en una base de datos de WordPress puede ser un proceso delicado, pero es esencial para evitar problemas con caracteres extraños, errores de visualización..."
url: https://wpdirecto.com/como-convertir-la-codificacion-de-la-base-de-datos-en-wordpress-guia-completa/
date: 2025-04-09
modified: 2026-09-09
author: "David Carrero Fernández-Baillo"
image: https://wpdirecto.com/wp-content/uploads/2017/05/optimizar-base-de-datos-wordpress.jpg
categories: ["Rendimiento"]
tags: ["base de datos", "mariadb", "mysql"]
type: post
lang: es
---

# Cómo convertir la codificación de la base de datos en WordPress: Guía completa

La conversión de la codificación de caracteres en una base de datos de **WordPress** puede ser un proceso delicado, pero es esencial para evitar problemas con caracteres extraños, errores de visualización y compatibilidad con idiomas internacionales. En este artículo, se explica paso a paso cómo convertir correctamente la codificación de la base de datos de **WordPress MySQL o MariaDB**.

---

## **1. Importancia de la conversión de caracteres en WordPress**

En versiones anteriores a WordPress 2.1.3, la mayoría de las bases de datos utilizaban el conjunto de caracteres **latin1** y la colación **latin1_swedish_ci** por defecto. A partir de WordPress 2.2, se introdujo la posibilidad de definir la codificación en el archivo **`wp-config.php`**, siendo **UTF-8** la opción recomendada.

Sin embargo, cambiar la codificación en `wp-config.php` **no altera automáticamente** las tablas y columnas existentes, lo que puede generar problemas al recuperar o guardar datos.

---

## **2. Pasos previos a la conversión**

Antes de comenzar la conversión, **es imprescindible hacer una copia de seguridad** de la base de datos. Se recomienda seguir estos pasos:

✅ **Exportar la base de datos** usando **phpMyAdmin** o el comando `mysqldump`.
✅ **Crear un entorno de pruebas** donde se pueda verificar la conversión antes de aplicarla al sitio en producción.
✅ **Identificar la codificación actual** de la base de datos y las tablas mediante phpMyAdmin o con el siguiente comando SQL:

```
SELECT schema_name, default_character_set_name FROM information_schema.schemata;
```

---

## **3. Convertir la codificación de la base de datos a UTF-8**

### **3.1. Cambiar la codificación de la base de datos**

El siguiente comando cambia el **conjunto de caracteres** y la **colación** de la base de datos:

```
ALTER DATABASE nombre_base_de_datos CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
```

🔹 **Nota:** Esto solo afectará a **nuevas tablas**, pero no a las existentes.

---

### **3.2. Convertir la codificación de las tablas**

Para actualizar las tablas existentes, usa el siguiente comando para cada tabla:

```
ALTER TABLE wp_posts CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
```

🔹 **Repite este comando para todas las tablas de la base de datos**, reemplazando `wp_posts` por el nombre de cada tabla.

---

### **3.3. Convertir la codificación de las columnas**

Cada columna con datos en formato texto (`TEXT`, `VARCHAR`, `LONGTEXT`, etc.) debe ser convertida. Usa el siguiente comando para cada columna:

```
ALTER TABLE wp_posts CHANGE post_content post_content LONGTEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
```

🔹 **Importante:** Si tienes **ENUM o VARCHAR**, asegúrate de especificar la longitud correcta:

```
ALTER TABLE wp_users CHANGE user_email user_email VARCHAR(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
```

Para columnas `ENUM`, especifica los valores permitidos:

```
ALTER TABLE wp_comments CHANGE comment_subscribe comment_subscribe ENUM('Y','N') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'N';
```

---

## **4. Método alternativo: Conversión mediante BLOB**

Si después de la conversión los caracteres siguen viéndose incorrectamente, usa el método **BLOB** para evitar la corrupción de datos:

```
ALTER TABLE wp_posts CHANGE post_content post_content LONGBLOB;
ALTER TABLE wp_posts CHANGE post_content post_content LONGTEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
```

🔹 **Este método convierte temporalmente los datos a un formato binario (BLOB) antes de cambiarlos nuevamente a texto**, evitando pérdidas de información.

---

## **5. Conversión con `mysqldump` (recomendado para grandes bases de datos)**

Si tienes acceso a la consola, puedes exportar la base de datos en formato **latin1** y luego importarla en formato **utf8mb4**:

```
mysqldump -u usuario -p --default-character-set=latin1 nombre_base > backup.sql
```

Luego, importa el archivo convertido a UTF-8:

```
mysql -u usuario -p --default-character-set=utf8mb4 nombre_base < backup.sql
```

🔹 **Este método garantiza que los caracteres sean leídos correctamente antes de la conversión.**

---

## **6. Actualizar `wp-config.php`**

Después de completar la conversión, edita el archivo **`wp-config.php`** y verifica que las siguientes líneas estén configuradas correctamente:

```
define('DB_CHARSET', 'utf8mb4');
define('DB_COLLATE', 'utf8mb4_unicode_ci');
```

🔹 **Si tu sitio usa emojis u otros caracteres especiales, UTF-8MB4 es la mejor opción.**

---

## **7. Pruebas y verificación de la conversión**

Para asegurarse de que todo funciona correctamente:

✅ **Revisar los datos en phpMyAdmin:** ¿Se ven correctamente los caracteres especiales?
✅ **Añadir texto en diferentes idiomas** en un post de prueba y verificar su correcta visualización.
✅ **Verificar la base de datos:**

```
SELECT post_content FROM wp_posts WHERE post_content LIKE '%áéíóúñ%';
```

Si los caracteres siguen mostrándose incorrectamente, intenta limpiar la caché o revisar si hay plugins interfiriendo con la codificación.

---

## **8. Consideraciones finales**

🔹 **Siempre haz una copia de seguridad antes de modificar la base de datos.**
🔹 **Realiza pruebas en un entorno de desarrollo antes de aplicar los cambios en producción.**
🔹 **Si sigues teniendo problemas, considera actualizar MySQL a la última versión disponible.**

---

## **Conclusión**

La conversión de la base de datos de **WordPress** a **UTF-8** es fundamental para garantizar compatibilidad con múltiples idiomas y evitar errores de codificación. Siguiendo estos pasos, podrás realizar la conversión de manera segura y efectiva, asegurando que tu sitio web funcione correctamente sin perder datos. 🚀

vía: [Codex WordPress](https://codex.wordpress.org/Converting_Database_Character_Sets)
