Resolvendo problemas de encoding no Linux

Para quem trabalha em equipes que desenvolvem em Windows e não se preocupam com encoding ou em projetos que foram desenvolvidos somente em Windows e executam em servidores Linux ou precisam ser desenvolvidos em Linux, um problema recorrente é a abertura de arquivos com encoding ISO-8859-1 (ou Cp1252/Windows-1252, um superset do ISO-8859-1). No Linux, esses arquivos ficam com pontos de interrogação onde existem caracteres especiais (acentuação, cedilha, ...).

Encoding
Encoding

Em algumas situações a aplicação produz erros do tipo: "Invalid UTF-8 encoding". Para resolver erros desse tipo, existe um pequeno utilitário no Linux: iconv. O iconv converte conteúdo de um enconding para outro. A sintaxe é simples:

iconv -f <encoding de origem> -t <encoding de destino> <arquivo>

Por exemplo se desejamos converter de ISO-8859-1 para UTF e ainda gravar em outro arquivo, basta executar o seguinte:

iconv -f ISO-8859-1 -t UTF-8 arquivoISO-8859-1.txt > arquivoUTF-8.txt

Dessa maneira, resolvemos nossos problemas com enconding de arquivos.

Sobre: Thiago Galbiatti Vespa

Thiago Galbiatti Vespa é mestre em Ciências da Computação e Matemática Computacional pela USP e bacharel em Ciências da Computação pela UNESP. Coordenador de projetos do JavaNoroeste, membro do JCP (Java Community Process), consultor Oracle, arquiteto de software de empresas de médio e grande porte, palestrante de vários eventos e colaborador de projetos open source. Possui as certificações: Oracle Certified Master, Java EE 5 Enterprise Architect – Step 1, 2 and 3; Oracle WebCenter Portal 11g Certified Implementation Specialist; Oracle Service Oriented Architecture Infrastructure Implementation Certified Expert; Oracle Certified Professional, Java EE 5 Web Services Developer; Oracle Certified Expert, NetBeans Integrated Development Environment 6.1 Programmer; Oracle Certified Professional, Java Programmer; Oracle Certified Associate, Java SE 5/SE 6