|
From: | Rodrigo Tenorio |
Subject: | Re: [shell-script] Detectar codificação de texto |
Date: | Fri, 6 Feb 2015 14:52:19 -0200 |
Pode ser que o arquivo.txt seja o problema. Uma vez tive uma luta parecida até me dar conta que era o arquivo que tinha codificação diferente de UTF e ISO.
E se o arquivo realmente estar em UTF ou ISO, tente reconvertê-lo da fonte original, pois pode ter havido erro na conversão... E se ele for composto de vários, converta-os, para a UTF por exemplo, antes de processá-los para criar o seu.
Até onde eu sei e entendo todas as strings apresentadas no seu terminal obrigatoriamente terá a codificação que foi configurada em teu sistema. Nunca vi um mesmo arquivo possuidor de múltiplas codificações...
Se tiver acentuação será que daria pra afirmar que pelo menos não é ascii? Tipo:$ grep -q '[ãõâáêéíúüç]' <(echo 'algo legalzão') && echo utf || echo asciiMas não resolve os caracteres estranhos, creio.AbsAtt,
Fernando Mercês
Linux Registered User #432779
www.mentebinaria.com.br
------------------------------------
"Ninguém pode ser escravo de sua identidade; quando surge uma possibilidade de mudança é preciso mudar". (Elliot Gould)2015-02-06 22:29 GMT+08:00 Marcelo F Andrade address@hidden [shell-script] <address@hidden>:015-02-06 9:07 GMT-03:00 Robson Alexandre address@hidden
[shell-script] <address@hidden>:
> talvez eu não tenha me expressado direito, mas o que estou tentando buscar é alguma maneira de detectar a codificação de uma string, e não do conteúdo do arquivo como um todo [corta/]
Então, a princípio, não tem como. De fato os "caracteres estranhos"
numa codificação ainda assim são caracteres válidos numa outra
codificação. Mas se você tiver uma base de caracteres "válidos" no
mesmo arquivo e um conjunto limitado de charsets (iso-8859-1 e utf-8,
por exemplo), pode inferir qual seja a codificação correta. Veja se
consigo ajudar:
$ wget -O arquivo http://termbin.com/cq15
$ nl arquivo | tail -2
24 Documentos/ebooks/xadrez/Introdução ao Xadrez.pdf
25 Documentos/ebooks/xadrez/Introdu��o ao Xadrez.pdf
$ nl arquivo | aspell conv iso-8859-1 utf-8 | tail -2
24 Documentos/ebooks/xadrez/Introdução ao Xadrez.pdf
25 Documentos/ebooks/xadrez/Introdução ao Xadrez.pdf
A linha 24 está em utf-8 e a linha 25 eu tenho certeza que foi escrita
originalmente em iso-8859-1 (De novo, na verdade tudo está em utf-8,
os caracteres "?" malucos a pessoa digitou pensando estar noutra
codificação. Como não se atentou aos charsets, digitou "Introdu��o"
pensando estar digitando "Introdução"). Na verdade, é mais ou menos a
mesma ideia do Tiago de outra forma.
Se só tiver texto, uma abordagem alternativa seria tentar passar um
corretor para tentar "consertar" as palavras. Talvez um `aspell -l
pt_BR -c arquivo` poderia ajudar, mas a questão fica em como lidar com
palavras contendo simbolos.
Boa sorte.
--
MARCELO F ANDRADE | Belem, Amazonia, Brazil | http://about.me/mfandrade
[Prev in Thread] Current Thread [Next in Thread]
- Detectar codificação de texto, Robson Alexandre, 2015/02/05
- Re: [shell-script] Detectar codificação de texto, Tiago Peczenyj, 2015/02/05
- Re: [shell-script] Detectar codificação de texto, Robson Alexandre, 2015/02/06
- Re: [shell-script] Detectar codificação de texto, Marcelo F Andrade, 2015/02/06
- Re: [shell-script] Detectar codificação de texto, Fernando Mercês, 2015/02/06
- Re: [shell-script] Detectar codificação de texto, Rodrigo Tenorio <=
- Prev by Date: Re: [shell-script] Detectar codificação de texto
- Next by Date: Re: [Bulk] Re: [shell-script] Duvida array em loop
- Previous by thread: Re: [shell-script] Detectar codificação de texto
- Next by thread: Find
- Index(es):