Guias

CSV com caracteres estranhos? Veja por que acontece e como corrigir

Pela equipe do Opener6 min de leitura

Caracteres estranhos como “é” ou “Сума” significam que o CSV foi salvo numa codificação de texto e aberto como se estivesse em outra — as letras continuam no arquivo, só estão sendo decodificadas do jeito errado. Abra o arquivo com a codificação certa (o Visualizador de CSV detecta sozinho) e salve uma cópia em UTF-8. Pontos de interrogação (“????”) são outra história: normalmente indicam que as letras já se perderam quando o arquivo foi gravado.

O que é codificação, em um minuto

Um arquivo CSV é texto puro, e no disco texto é só uma lista de números (bytes). A codificação é a tabela que diz qual número corresponde a qual letra. Para as letras básicas do inglês e os dígitos, quase todas as codificações concordam — por isso os números da exportação do banco aparecem certinhos, enquanto nomes e descrições viram lixo.

As três que você vai encontrar em exportações de sistemas contábeis e bancos:

Normalmente o próprio arquivo não diz qual codificação usa. O programa que o abre precisa adivinhar e, se errar, você recebe mojibake — o nome técnico desse texto embaralhado.

Lendo o lixo: o que cada padrão revela

O tipo de lixo é uma pista do que deu errado.

Você vê Você esperava O que aconteceu
é, ü, € é, ü, € Arquivo UTF-8 aberto como Windows-1252
Сума (muitos Ð e Ñ) Сума Cirílico em UTF-8 aberto como Windows-1252
Ñóìà (letras latinas acentuadas) Сума Arquivo Windows-1251 aberto como Windows-1252
Cafй Café Arquivo Windows-1252 aberto como Windows-1251
� (losango preto com ?) qualquer letra Arquivo em codificação antiga aberto como UTF-8
???? qualquer letra Letras perdidas quando o arquivo foi salvo

Pares como “Ô + alguma coisa ou “Д/“Ñ” + alguma coisa são a impressão digital de um UTF-8 lido como codificação antiga: cada letra fora do inglês ocupa dois bytes em UTF-8, e a tabela antiga mostra cada byte como um símbolo separado. Isso é boa notícia — nada se perdeu, e abrir o arquivo como UTF-8 resolve.

Pontos de interrogação simples são má notícia. Eles costumam aparecer quando um programa tentou salvar texto numa codificação que não tem lugar para aquelas letras (por exemplo, cirílico em Windows-1252) e trocou cada uma delas por ?. As letras originais não estão mais no arquivo, e nenhum visualizador consegue trazê-las de volta. A solução é exportar de novo a partir do sistema de origem, escolhendo UTF-8 ou a codificação regional correta, se a tela de exportação oferecer essa opção.

O BOM: por que o Excel erra com UTF-8

Um arquivo UTF-8 pode começar com três bytes invisíveis chamados byte order mark (BOM, marca de ordem de bytes). É uma dica que diz “este arquivo é UTF-8”.

Quando você clica duas vezes num CSV, o Excel depende muito dessa dica. Com BOM, ele normalmente lê o UTF-8 corretamente; sem BOM, muitas vezes assume a codificação antiga do seu computador — e é exatamente assim que uma exportação UTF-8 perfeita do banco vira “Сума”. Outros programas fazem o contrário e mostram o BOM como lixo, tipo , no começo do primeiro cabeçalho de coluna. Se você vir isso, o arquivo é UTF-8 e o BOM está sendo exibido como texto.

Solução 1: abra com detecção automática

O jeito mais rápido é deixar algo detectar a codificação por você. O Visualizador de CSV do Opener tenta UTF-8 primeiro e, dependendo do texto, recorre ao Windows-1251 ou ao Windows-1252, então nomes e descrições aparecem certos sem assistente de importação. Ele também detecta o separador — vírgula, ponto e vírgula, tabulação ou barra vertical.

O arquivo é lido no seu navegador e não é enviado para lugar nenhum, o que faz diferença com folha de pagamento, notas fiscais e extratos bancários. Para corrigir o arquivo para outros programas, use o botão de exportar: você recebe uma cópia limpa da tabela em UTF-8 (da visualização atual, então limpe a pesquisa antes se quiser todas as linhas). Se o seu problema é que tudo cai numa coluna só, e não letras embaralhadas, veja por que o CSV abre em uma coluna.

Solução 2: importe no Excel com a “Origem do Arquivo” certa

Não clique duas vezes no arquivo. Em vez disso, abra uma pasta de trabalho em branco e use a importação “De Texto/CSV” da guia Dados. A janela de prévia tem uma lista Origem do Arquivo, em que você escolhe a codificação:

Alterne entre elas e observe a prévia — no momento em que os nomes ficarem certos, você achou a codificação correta. Depois carregue os dados. Se precisar repassar o arquivo, salve-o no Excel com o tipo de arquivo “CSV UTF-8”, e não o “CSV” simples, que pode voltar a usar a codificação antiga.

Solução 3: Planilhas Google, LibreOffice ou um editor de texto

Planilhas Google. Importar um CSV no Planilhas Google (Arquivo → Importar) funciona bem com arquivos UTF-8, e a janela de importação permite escolher o separador. Para arquivos em codificação antiga, é um caminho menos confiável: se uma exportação em Windows-1251 ou Windows-1252 continuar com letras embaralhadas, converta-a para UTF-8 por um dos outros métodos e importe essa cópia.

LibreOffice Calc. Quando você abre um CSV, o LibreOffice mostra uma janela de importação de texto com uma lista Conjunto de caracteres. Escolha Unicode (UTF-8), cirílico (Windows-1251) ou Europa Ocidental (Windows-1252), e a prévia se atualiza na hora. Ele é gratuito e funciona no Windows, macOS e Linux.

Um editor de texto. Editores como o Bloco de Notas no Windows, o TextEdit no macOS ou um editor de código como o VS Code permitem escolher a codificação ao salvar. O detalhe: o editor precisa primeiro abrir o arquivo com a codificação correta. Se o texto aparece certo no editor, salve como UTF-8. Se já aparece embaralhado ali, salvar só vai preservar o lixo — reabra com a codificação certa antes.

Perguntas frequentes

Dá para corrigir “????” no meu CSV?

Normalmente não. Pontos de interrogação significam que os caracteres foram substituídos quando o arquivo foi gravado, então as letras originais não estão no arquivo. Exporte de novo do sistema contábil ou do banco, escolhendo UTF-8 se possível.

Que codificação devo usar ao salvar ou exportar?

UTF-8. Ela guarda todos os alfabetos, e todo programa moderno a entende. Se seus colegas abrem o arquivo clicando duas vezes no Excel, use a opção “CSV UTF-8” do Excel para o arquivo começar com BOM.

Mudar a codificação altera os meus números?

Não. Dígitos, pontos e vírgulas são iguais em UTF-8, Windows-1251 e Windows-1252, então valores e datas não são afetados. Só mudam as letras fora do inglês básico.

É seguro corrigir uma exportação do banco online?

Só se a ferramenta não enviar o arquivo. O Visualizador de CSV decodifica e exporta o arquivo inteiramente no seu navegador, então o extrato nunca sai do seu dispositivo.