Saltar al contenido principal
CSV First Aid

Cómo arreglar problemas de codificación CSV — UTF-8 vs Windows-1252

Los problemas de codificación son la causa #1 de texto confuso en CSVs. Esta guía explica qué es la codificación, por qué UTF-8 y Windows-1252 chocan, y cómo arreglarlo en cada tool común.

¿Qué es la codificación de caracteres?

La codificación de caracteres es el mapeo de bytes a caracteres. UTF-8 usa 1–4 bytes por carácter y cubre todo Unicode. Windows-1252 (también CP-1252 o Latin-1) usa exactamente 1 byte por carácter y cubre lenguas europeas occidentales.

El problema: una secuencia como 0xC3 0xA9 significa é en UTF-8 pero se malinterpreta como dos caracteres en Windows-1252. Si decodificas con la codificación equivocada, obtienes mojibake — texto confuso que parece símbolos aleatorios.


Cómo detectar la codificación de un CSV

En Python: import chardet; chardet.detect(open('file.csv','rb').read()) devuelve la codificación con una puntuación de confianza. El comando 'file' en Unix: file -i data.csv muestra el charset detectado.

En la práctica, los dos casos más comunes son: (1) el archivo es UTF-8 válido, o (2) es Windows-1252 y contiene caracteres con códigos por encima de 0x7F. CSV First Aid comprueba ambos automáticamente.


Arreglar codificación en Python

Leer: pd.read_csv('file.csv', encoding='cp1252') si el archivo es Windows-1252. Convertir: leer con la codificación correcta, luego escribir como UTF-8: df.to_csv('clean.csv', encoding='utf-8', index=False).

Si no estás seguro de la codificación: prueba UTF-8 primero. Si ves caracteres de reemplazo (\ufffd), cae a cp1252. Eso es exactamente lo que hace CSV First Aid internamente.


Arreglar codificación en Excel

Excel en Windows: Datos → De Texto/CSV → Origen del archivo → seleccionar '65001: Unicode (UTF-8)'. Excel en Mac: Archivo → Importar → CSV → establecer codificación.

El truco del BOM: si añades un BOM UTF-8 (EF BB BF) al inicio del archivo, Excel lo auto-detecta como UTF-8. CSV First Aid puede añadir un BOM al exportar para compatibilidad con Excel.


Buenas prácticas

Exporta siempre como UTF-8. Especifica la codificación explícitamente al leer (no confíes en defaults). Valida siempre tras la conversión — abre el archivo y comprueba que los acentos se muestran bien.

En caso de duda, pasa el archivo por CSV First Aid. Detecta la codificación, convierte a UTF-8 y elimina el BOM en un solo paso.

Si no quieres adivinar flags de chardet o iconv, CSV First Aid se encarga de la detección.

Arregla tu CSV ahora →

Herramientas relacionadas