Primero, comprueba la codificación
En la barra de estado, abajo a la derecha, Notepad++ indica cómo lee ahora el archivo, por ejemplo UTF-8, UTF-8-BOM o ANSI. El menú de codificación (Encoding en la versión inglesa) tiene dos tipos de entradas que se confunden a menudo:
- ANSI, UTF-8, UTF-8-BOM (parte superior del menú): Notepad++ vuelve a leer los bytes existentes sin cambiar el archivo. Es solo un ajuste de visualización.
- Convertir a ANSI, Convertir a UTF-8 … (parte inferior del menú; en inglés Convert to …): Notepad++ escribe los caracteres en la nueva codificación. Al guardar, el archivo cambia.
Caso 1: ñ en vez de ñ
El archivo está guardado como UTF-8, pero Notepad++ lo lee como ANSI. Elige en el menú de codificación la opción UTF-8 y los caracteres aparecen bien al instante. No conviertas: «Convertir a UTF-8» guardaría la basura ñ como caracteres reales.
Caso 2: xF1 o cuadros en vez de ñ
El archivo está guardado en ANSI (Windows-1252) pero se lee como UTF-8. Elige primero la opción ANSI para ver bien los caracteres y después Convertir a UTF-8. Tras guardar, el archivo es UTF-8.
Caso 3: la basura está de verdad en el archivo
Si Notepad++ sigue mostrando ñ con UTF-8 elegido, el texto roto ya se guardó. Entonces ninguna opción de menú ayuda con fiabilidad, sobre todo si se mezclan líneas correctas y rotas o el texto tiene codificación doble. Suelta el archivo en Mojibuster, arriba: repara solo los puntos rotos y te muestra cada cambio.
Antes
Traducción revisada: canción, niño, jamón, Málaga, camión; todo correcto.
Después
Traducción revisada: canción, niño, jamón, Málaga, camión; todo correcto.
Crea siempre los archivos nuevos como UTF-8
En Configuración → Preferencias → Nuevo documento (en inglés Settings → Preferences → New Document), define la codificación de los archivos nuevos como UTF-8. Para archivos que Excel deba abrir, UTF-8-BOM es mejor opción; más sobre Excel con caracteres raros. Los scripts de Windows PowerShell 5.1 también necesitan BOM, mira PowerShell.
Preguntas frecuentes
¿Qué diferencia hay entre UTF-8 y UTF-8-BOM?
Ambos guardan los caracteres igual. UTF-8-BOM escribe además tres bytes invisibles al principio, por los que Excel y programas antiguos reconocen el UTF-8.
¿Por qué Notepad++ detecta a veces mal la codificación?
Los archivos sin BOM no contienen información sobre su codificación, así que Notepad++ tiene que adivinarla. Con archivos cortos y pocos caracteres especiales se equivoca más.
¿Puedo convertir varios archivos a la vez?
En Notepad++ solo con macros o complementos. En Mojibuster es un archivo tras otro, y cada uno tarda segundos.