Quando você precisa disso
- Um CSV exportado de um sistema de contabilidade antigo, de um ERP ou do internet banking está salvo em ANSI, e o sistema novo ou a importação da loja virtual espera UTF-8.
- Um arquivo de texto de um programa antigo do Windows mostra
caf�em vez decaféno Mac, no Linux ou no Git. - Um site, um banco de dados ou um script lê o arquivo como UTF-8 e trava no primeiro acento.
- Legendas antigas mostram quadradinhos em vez de acentos na TV – para isso há um guia próprio: corrigir acentos em legendas.
Como converter o arquivo
- Arraste o arquivo para o quadro acima ou clique para escolher.
- O Mojibuster lê o arquivo e diz como fez: “Lido como Windows-1252 (ANSI), salvo como UTF-8.”
- Confira a visualização. Se algo parecer errado, o Mojibuster oferece outra leitura com um clique.
- Clique em Baixar. Se o arquivo for aberto no Excel, deixe a opção Salvar com BOM marcada.
O que “ANSI” quer dizer
“ANSI” é o nome que o Windows dá à tabela de caracteres antiga do sistema. No Windows em português e em outras línguas da Europa Ocidental, é a Windows-1252. Não tem nada a ver com o American National Standards Institute – o nome é um equívoco histórico. A ISO-8859-1 (Latin-1) é quase igual: só entre os bytes 80 e 9F a Windows-1252 acrescenta caracteres como €, ’ e –.
A diferença nos bytes
ç– ANSIE7(um byte), UTF-8C3 A7(dois bytes).ã– ANSIE3, UTF-8C3 A3.€– Windows-125280, não existe na ISO-8859-1, UTF-8E2 82 AC.’– Windows-125292, UTF-8E2 80 99.- Letras sem acento, números e sinais como
,são iguais nas três codificações. Por isso o problema só aparece em acentos, símbolos de moeda e aspas curvas.
Como reconhecer um arquivo ANSI
Quando um arquivo ANSI é aberto como UTF-8, o byte de uma letra acentuada não é válido. Os programas mostram �, e o Notepad++ mostra caixinhas como xE9 no lugar do é. O byte certo continua no arquivo, então nada se perde na conversão. Se um ? já ficou gravado de vez, veja pontos de interrogação em vez de acentos.
O caso contrário: UTF-8 lido como ANSI
Se você vê ç em vez de ç, o arquivo já está em UTF-8 e só está sendo lido como ANSI – geralmente pelo Excel. Aí não há nada para converter: abra o arquivo do jeito certo ou corrija os caracteres já gravados errados, veja acentos errados no Excel e corrigir caracteres UTF-8. O Mojibuster também reconhece esse caso.
Aparece
Atenção: café, pão e açúcar por €2 – ótimo
Correto
Atenção: café, pão e açúcar por €2 – ótimo
Outros caminhos
- Excel: abra o arquivo e vá em Arquivo → Salvar como → tipo CSV UTF-8 (delimitado por vírgulas). Antes, confira se os acentos aparecem certos depois de abrir.
- Notepad++: no menu Codificação, escolha primeiro ANSI e depois Converter para UTF-8 – passo a passo em Notepad++ e codificação.
- PowerShell e Python: informe a codificação antiga ao ler o arquivo, senão você cria novos caracteres errados. Veja PowerShell e pandas.
Perguntas frequentes
Perco caracteres na conversão?
Não. Todos os caracteres da Windows-1252 e da ISO-8859-1 existem em UTF-8. Só caracteres que já foram salvos como ? continuam ?.
ANSI é o mesmo que ISO-8859-1 ou Latin-1?
Quase. A Windows-1252 também tem €, aspas curvas e travessões. O Mojibuster lê os dois corretamente, porque a Windows-1252 contém todos os caracteres da ISO-8859-1.
UTF-8 com ou sem BOM?
Com BOM para o Excel, senão ele volta a mostrar ç. Sem BOM para sites, bancos de dados e código-fonte.
Meu arquivo é enviado para algum servidor?
Não. A conversão acontece toda no seu navegador, mesmo com exportações CSV grandes. O arquivo não sai do seu dispositivo.