[Cascavel-pm] Conversao para minusculo de caracteres acentuados
Joenio Marques
joenio em gmail.com
Sexta Outubro 6 08:31:23 PDT 2006
Olá Monges,
Estou sofrendo com a conversão para minusculo de caracteres acentuados
aqui. Já tentei de tudo [1], até reza braba... ;-)
Tenho um arquivo em LATIN1 e quero transforma-lo em UTF8 para depois
converter para minusculo, o locale do meu sistema está em UTF-8.
Para a conversão para UTF-8 utilizo o módulo Encode:
Encode::from_to($content_file, 'latin1', 'utf8');
Faço essa conversão porque vou assumir que dentro do meu script tudo
está como UTF8. Estou usando a pragma utf8 e o script .pl também está
com esta codificação.
A conversão para minusculo com a função 'lc' não faz efeito nos
caracteres acentuados. Para confirmar a codificacao estou usando o
módulo Encode::Detect::Detector que me retorna em que codificação algo
está.
$content_file = <ABRO O ARQUIVO E LEIO TODO O CONTEUDO>;
print detect($content_file); #imprime 'windows-1252'
Encode::from_to($content_file, 'latin1', 'utf8');
print detect($content_file); #imprime 'utf-8'
print lc($content_file); #imprime tudo em minusculo menos caracteres
acentuados e Ç
O arquivo está em 'latin1', apesar de 'detect' imprimir
'windows-1252'. acredito que seja por serem padrões semelhantes. [2]
Já testei:
use locale;
use utf8;
use encoding ... ;
use Encode;
use POSIX ...;
use H%#&$#Ä
e nada me deu o que quero...
Estou quase apelando para tr/ÁÀÓÒÃÂ/áàóòãâ/. Algém teria uma luz para mim?
[1] - http://mail.pm.org/pipermail/cascavel-pm/2005-November/004254.html
http://mail.pm.org/pipermail/cascavel-pm/2004-October/001963.html
http://mail.pm.org/pipermail/cascavel-pm/2005-April/002792.html
etc...
[2] - http://en.wikipedia.org/wiki/Windows-1252
Obrigado,
--
Joenio Marques
- Salvador Perl Mongers
Mais detalhes sobre a lista de discussão Cascavel-pm