¿Te has topado con el temido error de caracteres extraños (como ñ en lugar de ñ) al importar datos o al intentar guardar emojis, tildes o caracteres especiales en tu sitio web? Es uno de los dolores de cabeza más comunes al migrar o configurar aplicaciones.
Antes de ver la solución, es fundamental aclarar un aspecto técnico importante sobre el funcionamiento interno de PostgreSQL:
La regla de oro de PostgreSQL:
A diferencia de otros sistemas de bases de datos, en PostgreSQL no existe un comando directo (como un
ALTER DATABASE) para cambiar la codificación de una base de datos ya existente. La codificación (comoLATIN1oUTF8) queda sellada al momento de su creación para proteger la integridad de los índices y evitar que tus datos se corrompan.
¿Significa esto que estás atrapado? ¡Para nada! Los desarrolladores y administradores de sistemas solucionamos esto con una técnica estándar y 100% segura en tres pasos: Exportar, Crear e Importar.
A continuación, te guiamos en el proceso paso a paso utilizando la terminal de cPanel.
El Método Seguro: Exportar, Transcodificar y Reimportar
Para realizar este proceso de forma exitosa y sin riesgo de perder información, utilizaremos la Terminal de tu cPanel.
Diferencias clave entre codificaciones comunes
Si te preguntas cuál es la diferencia real entre las codificaciones y por qué casi siempre querrás elegir UTF-8, aquí tienes una comparación rápida:
-
UTF-8 (Recomendado): Es el estándar web global de facto. Soporta prácticamente cualquier carácter de cualquier idioma del planeta, además de emojis, símbolos matemáticos e iconos técnicos.
-
LATIN1 / ISO-8859-1: Un formato antiguo diseñado principalmente para idiomas de Europa occidental. No soporta caracteres de otros alfabetos ni emojis modernos.
-
SQL_ASCII: Es la codificación más básica. No realiza ninguna validación de caracteres especiales y solo garantiza compatibilidad pura con caracteres en inglés (código ASCII básico de 7 bits). Utilizarla suele provocar textos rotos en páginas web modernas en español.
¿Cómo verificar qué codificación tiene tu base de datos actual?
Si tienes curiosidad de saber qué codificación está utilizando actualmente tu base de datos, puedes comprobarlo en segundos desde la terminal:
-
Entra a PostgreSQL desde la terminal de cPanel con el comando
psql -U tu_usuario -d tu_base_de_datos -h localhost. -
Escribe el comando de listado:
\ly presiona Enter. -
Verás una tabla con todas tus bases de datos. Fíjate en la columna Encoding (Codificación) y Collate (Intercalación).
¿Te preocupa dañar tus datos durante la conversión?
La manipulación de codificaciones y juegos de caracteres puede ser delicada si hay bases de datos en producción con miles de usuarios activos. Si prefieres no correr riesgos, abre un ticket con nuestro equipo de soporte de ServiciosHosting.com. Sube tu archivo de respaldo y dinos a qué codificación deseas migrarlo; nuestros técnicos se encargarán de realizar la conversión y restauración de manera segura y transparente.