[Cascavel-pm] Conversão de letras acentuadas.

Luis Campos de Carvalho monsieur_champs em yahoo.com.br
Quarta Outubro 27 09:38:10 CDT 2004


Rod Za wrote:
> Oi gente,
> 
> O meu problema é que quando existe carcateres acentuados 
 > no nome do arquivo (ex: "Página de Teste") o usuário recebe
 > uma mensagem truncada, justamente por causa das letras acentuadas.
> 
> Sei que se eu enviar qualquer coisa do tipo "\240" no
 > lugar de um "á" funciona sem problemas.
> 
> As minhas dúvidas são: 
> 
> em que formato esta é "\240"? Existe alguma função que

   "\240" deve ser octal ou hexadecimal.
   Use a função "pack()" para descobrir.

 > identifique uma letra acentuada e a converta para este
 > formato (ex. para eu converter o "á"para "\240")?

   Deve existir um módulo no CPAN para ajudar com isso.
   Mas eu acho que você pode tentar conversão com "pack()" e "unpack()".

   Semana que vem, quando eu estiver mais sossegado, posso tentar 
descobrir alguma coisa.

> ou existe algum modo de se tirar os acentos das
 > letras (ex: "áÁÄ" = "aAA")?

   Você pode usar uma expressão regular, mas acho que vai ser obrigado a 
"descolar" todos os códigos de letras acentuadas para fazer a conversão. 
Aí, tudo se transforma em um "tr": tr/áÁà/\240\241\242/ e assim por 
diante (inventei os códigos apenas para este exemplo).

   Espero que isso ajude.
   Putamplexos!
-- 
=======================================================
   Luis Campos de Carvalho is BsC in Computer Science,
   Certified Oracle DBA, UNIX and Linux lover, Perl
   Fanatic and Leader of the Sao Paulo Perl Mongers
   http://br.geocities.com/monsieur_champs/
=======================================================



Mais detalhes sobre a lista de discussão Cascavel-pm