Por qué un CSV muestra caracteres raros en Excel
El lío de codificación detrás de las tildes rotas y tres formas de arreglarlo.
Abres un CSV en Excel y nombres como Muñoz o José aparecen con símbolos extraños en lugar de las letras acentuadas. Los símbolos del euro y los apóstrofos también se convierten en grupos de caracteres raros. Tus datos no tienen nada malo. Excel está leyendo el archivo con la codificación de caracteres equivocada.
Qué está pasando
Un archivo de texto son solo bytes, y una codificación es la regla para convertir bytes en letras. Casi todos los sistemas modernos escriben los CSV en UTF-8, que sirve para cualquier idioma. Excel en Windows, cuando haces doble clic en un CSV, sigue asumiendo una codificación regional antigua como Windows-1252, salvo que el archivo empiece con una pequeña marca llamada marca de orden de bytes, o BOM. Sin el BOM, todo carácter fuera del inglés básico se descodifica con la regla equivocada, y cada letra acentuada sale como dos o tres caracteres basura.
Los datos están intactos. Abre el mismo archivo en Hojas de cálculo de Google, Numbers o un editor de texto y se ve perfectamente.
Solución 1: añadir el BOM
Si el archivo es UTF-8 correcto y solo Excel lo muestra mal, pásalo por la herramienta para arreglar la codificación con la opción BOM activada. Los caracteres no cambian, pero la marca le dice a Excel que lea UTF-8, y a partir de entonces se abre bien con un doble clic.
Solución 2: convertirlo en un archivo de Excel de verdad
Un archivo .xlsx no tiene ninguna ambigüedad de codificación. El conversor de CSV a Excel lee el CSV correctamente y guarda un libro que se abre bien en cualquier parte. Además mantiene los ceros iniciales de códigos postales y teléfonos, que Excel elimina al abrir un CSV directamente.
Solución 3: importar en lugar de hacer doble clic
En Excel, usa Datos, Desde texto/CSV, y pon el Origen del archivo en 65001: Unicode (UTF-8). Así Excel lee el archivo correctamente. Funciona, pero hay que acordarse cada vez, y por eso las dos primeras soluciones son más prácticas para archivos que compartes.
Cuando el archivo en sí está dañado
A veces los caracteres rotos están guardados dentro del archivo. Ocurre cuando alguien abrió un archivo UTF-8 en Excel, vio el desastre y lo guardó otra vez. Ahora los caracteres basura son los datos. El problema se ve en cualquier programa, no solo en Excel. La herramienta para arreglar la codificación tiene un modo de reparación justo para esto: deshace la doble codificación y restaura las letras originales. Su modo automático detecta este caso en la mayoría de los archivos.
Diagnóstico rápido
| Lo que ves | Causa probable | Solución |
|---|---|---|
| Mal solo en Excel, bien en el resto | Falta el BOM | Añadir el BOM o convertir a .xlsx |
| Mal en todos los programas | El archivo se guardó después de leerse mal | Reparar la doble codificación |
| Signos de interrogación o cuadrados | Archivo guardado en una codificación antigua de Windows | Convertir de Windows-1252 a UTF-8 |
Cómo evitarlo
- Al exportar desde Excel, elige CSV UTF-8 en lugar de CSV a secas.
- Al exportar desde otros sistemas para usuarios de Excel, incluye un BOM si existe la opción.
- Nunca vuelvas a guardar un CSV que se ve roto. Arregla la codificación primero.