De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Juan Carlos Castro y Castro
Data de Publicação: 28 de Abril de 2005
A maioria das distribuições GNU/Linux, em suas versões mais modernas, mudou para o padrão Unicode na representação de texto. Nesse padrão, caracteres acentuados e especiais são representados por mais de um byte. Você pode ver a diferença digitando o seguinte comando numa janela de terminal:
echo -n ç|wc -c
Se a resposta for 1, seu sistema ainda usa a codificação antiga (ISO8859, a mesma do Windows). Se for 2, ele usa a nova.
Os scripts Perl abaixo fazem a conversão do conteúdo de um arquivo texto de um padrão para o outro. Eles funcionam exclusivamente como filtro, ou seja, você tem que "pipear" os dados através deles, assim:
iso2utf8 <arquivo-criado-no-windows.txt >arquivo-com-acentos-corrigidos.txt
Ou:
man comando | col -b | utf82iso >arquivo-a-ser-lido-no-debian.txt
Os scripts em si são de uma simplicidade atroz:
#!/usr/bin/perl # # iso2utf8 - Converte texto de ISO8859 para UTF-8 # use Encode; while(<STDIN>){ print encode("utf8", decode("iso-8859-1", $_)); } #!/usr/bin/perl # # utf82iso - Converte texto de UTF-8 para ISO8859 # use Encode; while(<STDIN>){ print encode("iso-8859-1", decode("utf8", $_)); }
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários