Corrigir a codificação de caracteres no Notepad++

O Notepad++ mostra ç no lugar de ç, ou quadradinhos pretos como xE7? Então a codificação escolhida não combina com o arquivo. Duas opções de menu costumam resolver, se você souber qual precisa.

Funciona com texto e com estes arquivos:

  • CSV
  • TXT
  • JSON
  • XML
  • SRT
  • VTT
  • SMI
  • TSV
  • MD
  • HTML
  • SQL
  • LOG

Por exemplo exportações do Excel, backups de bancos de dados, legendas ou código de sites.

Corrigir

  1. Solte um arquivo ou cole o texto
  2. A correção é automática
  3. Copie ou baixe
ou simplesmente arraste um arquivo para cá

Primeiro, confira a codificação

No canto inferior direito da barra de status, o Notepad++ mostra como está lendo o arquivo agora, por exemplo UTF-8, UTF-8-BOM ou ANSI. O menu de codificação (Encoding na versão em inglês) tem dois tipos de entradas que muita gente confunde:

  • ANSI, UTF-8, UTF-8-BOM (parte de cima do menu): o Notepad++ lê de novo os bytes existentes sem alterar o arquivo. É só uma configuração de exibição.
  • Converter para ANSI, Converter para UTF-8 … (parte de baixo do menu; em inglês Convert to …): o Notepad++ grava os caracteres na nova codificação. Ao salvar, o arquivo muda.

Caso 1: ç no lugar de ç

O arquivo está salvo em UTF-8, mas o Notepad++ o lê como ANSI. Escolha no menu de codificação a opção UTF-8 e os caracteres aparecem certos na hora. Não converta: «Converter para UTF-8» gravaria o lixo ç como caracteres de verdade.

Caso 2: xE7 ou quadrados no lugar de ç

O arquivo está salvo em ANSI (Windows-1252), mas é lido como UTF-8. Escolha primeiro a opção ANSI para ver os caracteres certos e depois Converter para UTF-8. Depois de salvar, o arquivo é UTF-8.

Caso 3: o lixo está mesmo no arquivo

Se o Notepad++ continua mostrando ç com UTF-8 selecionado, o texto quebrado já foi salvo. Aí nenhuma opção de menu resolve com segurança, principalmente se linhas certas e quebradas estão misturadas ou o texto tem codificação dupla. Solte o arquivo no Mojibuster, acima: ele repara só os trechos quebrados e mostra cada alteração.

Um arquivo em que o erro já foi salvo

Antes

Tradução revisada: ação, coração, João, São Paulo, informações; tudo certo.

Depois

Tradução revisada: ação, coração, João, São Paulo, informações; tudo certo.

Crie sempre os arquivos novos em UTF-8

Em Configurações → Preferências → Novo documento (em inglês Settings → Preferences → New Document), defina a codificação dos arquivos novos como UTF-8. Para arquivos que o Excel deve abrir, UTF-8-BOM é a melhor escolha; mais sobre Excel com acentos errados. Scripts do Windows PowerShell 5.1 também precisam de BOM, veja PowerShell.

Perguntas frequentes

Qual a diferença entre UTF-8 e UTF-8-BOM?

Os dois guardam os caracteres do mesmo jeito. O UTF-8-BOM grava ainda três bytes invisíveis no início, pelos quais o Excel e programas antigos reconhecem o UTF-8.

Por que o Notepad++ às vezes detecta a codificação errada?

Arquivos sem BOM não trazem informação sobre a codificação, então o Notepad++ precisa adivinhar. Com arquivos curtos e poucos caracteres especiais, ele erra mais.

Posso converter vários arquivos de uma vez?

No Notepad++ só com macros ou plugins. No Mojibuster é um arquivo de cada vez, e cada um leva segundos.

Mais guias