[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Encoding de um arquivo. Como descobrir



Vou tentar dar alguma contribuição:

Que eu saiba não existe uma forma segura de identificar a codificação
de um arquivo, é por isso que textos em linguagem de marcação (HTML,
XML) costumam trazer o nome da codificação de forma explícita, no
início do arquivo.

Essa tarefa provavelmente teria que ser feita assim: um programa
procura determinados pedaços no texto que sejam conhecidamente de uma
determinada codificação. Claro que fazer isso não é eficiente e está
sujeito a erros. O gedit, por exemplo, tenta adivinhar isso, mas erra
com freqüência e não poderia ser usado num script. Para fazer isso num
script, sugiro experimentar com o comando "file".

Se você não está conseguindo nenhuma conversão que resolva o seu
problema, é bem provável que dois ou mais sistemas estejam misturados
no arquivo. Se não me engano, você pode mandar o recode converter
somente aquilo que ele achar característico do sistema de origem que
você informou. Supondo que você tem um arquivo com pedaços em UTF-8 e
pedaços em Windows-1252 e queira converter para ISO-8859-1, poderia
fazer isso em duas etapas.


--
Bruno de Oliveira Schneider
http://www.dcc.ufla.br/~bruno/

On 9/21/05, Franklin Anderson de Oliveira Souza <franklinbr@gmail.com> wrote:
> Ola todos ...
>
> Turma eh o  seguinte, to apanhando muito na questao do encoding de um
> arquivo, e nao to sabendo sair com louvor desse problema.
>
> Nas pesquisas que tenho feito, conheci programas como o recode e o
> iconv para a converter o encoding, mas o problema eh que nao consigo
> encaixar num modelo (seja iso-8859-x ou utf-8) os arquivos de texto
> que tenho, se uso borra uns caracteres se uso outro ferra com outros
> caracteres ......
>
> O que  saber com voces qual seria o jeito mais seguro de descobrir o
> encoding de um arquivo de texto, para usar os programas citados acima
> com mais eficiencia ... para posteriormente ser usado em scripts shell
>
> valeu
>
>



Reply to: