O que é encoding UTF-8 e por que os acentos ficam errados ao abrir CSV no Excel

Quando você abre um arquivo CSV no Excel e os acentos aparecem como caracteres estranhos, o problema tem um nome técnico: incompatibilidade de encoding. Mas o que é encoding, por que ele afeta os acentos e por que o Excel especificamente tem esse problema? Entender a causa do problema é o que permite resolvê-lo definitivamente — e evitar que ele aconteça em importações futuras. Neste artigo iremos mostrar o que é encoding de caracteres, o que é o UTF-8 e por que o Excel às vezes interpreta os arquivos CSV com o encoding errado.

O que é encoding de caracteres e como ele funciona

Computadores armazenam e processam dados em forma de números binários — sequências de 0s e 1s. Para armazenar texto, cada caractere precisa ser representado por um número. O encoding (codificação de caracteres) é o sistema que define qual número corresponde a qual caractere. Por exemplo, no encoding ASCII, a letra “A” maiúscula corresponde ao número 65 e a letra “a” minúscula corresponde ao número 97. Esses mapeamentos são definidos por padrões internacionais e qualquer sistema que lê um arquivo de texto precisa saber qual encoding foi usado para escrever esse arquivo.

O problema começa porque existem muitos encodings diferentes, criados em épocas e contextos diferentes. O ASCII original, criado nos anos 1960 nos EUA, só definia 128 caracteres — suficiente para o inglês, mas sem espaço para acentos portugueses, cedilhas, caracteres alemães ou qualquer caractere não inglês. Para resolver isso, diferentes países e sistemas criaram encodings estendidos que adicionavam os caracteres específicos de cada idioma. O Windows usa o Latin-1 (também chamado de Windows-1252) para idiomas ocidentais; sistemas Unix/Linux usam frequentemente o ISO-8859-1 para o mesmo conjunto de idiomas. Esses encodings têm limitações: cada um só suporta um conjunto específico de caracteres e são incompatíveis entre si.

O UTF-8 foi criado para resolver definitivamente esse problema de fragmentação. Ele faz parte do padrão Unicode, que define mais de um milhão de caracteres para representar praticamente todos os idiomas humanos existentes — do português ao árabe, do japonês ao tailandês, emojis inclusos. O UTF-8 codifica esses caracteres usando sequências de 1 a 4 bytes de forma eficiente: os caracteres ASCII básicos (letras, números e pontuação em inglês) usam apenas 1 byte, enquanto caracteres especiais como acentos usam 2 bytes. Isso torna o UTF-8 compatível com ASCII e ao mesmo tempo capaz de representar qualquer caractere do mundo.

DOMINE EXCEL COMIGO

QUERO APRENDER EXCEL

Por que o Excel abre arquivos CSV com o encoding errado

Quando você dá dois cliques em um arquivo CSV no Windows, o Excel tenta abrir o arquivo da forma mais rápida possível, sem perguntar nada. Para decidir qual encoding usar, o Excel verifica as configurações regionais do Windows — que para o Brasil geralmente aponta para o Windows-1252 (Latin-1). Ele então usa esse encoding para ler o arquivo, independentemente do encoding em que o arquivo foi realmente salvo.

Se o arquivo CSV foi salvo em UTF-8 (o que é o caso da maioria dos arquivos gerados por sistemas modernos, bancos de dados, linguagens de programação e APIs), e o Excel o abre usando Windows-1252, os bytes que representam os acentos em UTF-8 são interpretados com os valores numéricos do Windows-1252, resultando em caracteres completamente diferentes. O “ã” em UTF-8 é representado pelos bytes 195 e 163 (dois bytes), mas o Windows-1252 interpreta esses dois bytes como dois caracteres separados que visualmente aparecem como símbolos estranhos. Esse é o mecanismo exato que causa os acentos desconfigurados.

Uma solução alternativa ao Excel para arquivos CSV com acentos é o Bloco de Notas (Notepad) ou o Notepad++ do Windows. O Notepad++ consegue detectar e exibir corretamente qualquer encoding, e você pode abrir o CSV com ele para verificar se os acentos estão corretos no arquivo antes de importar para o Excel. Se no Notepad++ os acentos aparecem corretos mas no Excel aparecem errados, a causa é confirmada: o arquivo está em UTF-8 e o Excel está usando o encoding errado para lê-lo.

Outros encodings além do UTF-8 que você pode encontrar

Embora o UTF-8 seja o encoding mais comum hoje, você pode encontrar arquivos CSV em outros encodings dependendo da fonte. O Latin-1 (ISO-8859-1 ou Windows-1252) é usado por sistemas mais antigos e por exportações de software que não foram atualizados para UTF-8. O UTF-16 é usado em alguns contextos específicos do Windows. O Shift-JIS é usado para arquivos em japonês. O GB2312 para chinês simplificado. Cada encoding funciona corretamente quando o arquivo é aberto com o encoding certo, mas gera caracteres estranhos quando aberto com o encoding errado.

Para identificar qual encoding um arquivo CSV usa sem precisar tentar todos os encodings no Excel, você pode usar ferramentas gratuitas como o Notepad++ — ele mostra o encoding do arquivo aberto na barra de status inferior e no menu Codificação. Outra dica: arquivos que começam com os bytes EF BB BF (visíveis como “BOM” em algumas ferramentas) são UTF-8 com marcador de BOM, uma variante do UTF-8 que inclui um marcador de identificação no início do arquivo. Arquivos UTF-8 sem BOM são mais comuns em sistemas Unix/Linux e APIs web.

Na prática, para o uso cotidiano com Excel no Brasil, a regra é: sempre que um arquivo CSV tiver acentos desconfigurados, tente mudar o encoding para UTF-8 primeiro — resolve na esmagadora maioria dos casos. Se o UTF-8 não resolver, tente Latin-1 (ISO-8859-1) como segunda opção — resolve a maioria dos casos restantes, especialmente arquivos gerados por sistemas mais antigos brasileiros.

Se você curtiu esse artigo onde mostramos o que é encoding UTF-8 e por que os acentos ficam errados ao abrir CSV no Excel, compartilhe com as suas redes sociais e não se esqueça de deixar um comentário aqui embaixo caso você tenha ficado com alguma dúvida.

Por que o problema de encoding é mais comum no Brasil do que em outros países

Usuários brasileiros frequentemente enfrentam o problema de acentos desconfigurados no Excel com mais intensidade do que usuários de países que usam apenas caracteres ASCII básicos (como inglês, alemão com troca de Umlaut por letras alternativas, etc.). O motivo é que o português usa muitos caracteres especiais — á, é, í, ó, ú, ã, õ, â, ê, ô, à, ç — que são representados de forma diferente em cada encoding.

Sistemas governamentais brasileiros, planilhas antigas de empresas e arquivos gerados por softwares locais frequentemente usam o Windows-1252 ou o ISO-8859-1 como encoding padrão. Sistemas mais modernos, APIs de dados públicos (como do governo federal) e exportações de sistemas SaaS internacionais usam UTF-8. Essa mistura de fontes com encodings diferentes torna a competência de identificar e corrigir o encoding essencial para qualquer profissional que trabalha com dados no Brasil — não é uma situação excepcional, mas uma realidade cotidiana de quem lida com importação de dados.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *