sexta-feira, 13 de maio de 2011

Codificação de caracteres em Linux

Numa distribuição Linux em português, palavras acentuadas podem não ser exibidas corretamente no terminal, ainda que na instalação tenha sido selecionado o idioma correto (português do Brasil).
Ao realizar operações em linha de comando pode ser muito complicado referenciar arquivos e diretórios que originalmente foram criados usando caracteres com acentuação.

Este problema pode ocorrer por causa da codificação utilizada para o nosso idioma. É que existem duas codificações para o português brasileiro, o UTF-8 e o ISO-8859-1.
Algumas distribuições instalam a codificação UTF-8, o que pode gerar uma incompatibilidade com programas que foram escritos em padrão ISO.

Se for este o caso, pode-se corrigir o problema assim:

Edite o arquivo que faz a configuração da codificação;
# vi /etc/sysconfig/i18n
Altere as configurações para:
LANG="pt_BR.ISO-8859-1"
SYSFONT="latarcyrheb-sun16"
Agora é só salvar e sair do editor.

Feche a janela do terminal e abra novamente.

Experimente criar um diretório com caracter acentuado, cedilha, etc.

Este procedimento foi testado em distribuição Fedora.
Caso não funcione na sua, comente.

Um abraço.