[Cascavel-pm] Problemas apenas nas requisições via ajax (caracteres com acentuação)

fernandolouis em terra.com.br fernandolouis em terra.com.br
Terça Setembro 2 04:59:26 PDT 2008


Pô, só isso então Luciano!?!?! Muito bom, resolveu 100%! <liguei também o 
modo aguentar-ogro-me-xingando>

Tão simples e às vezes complicam achando que RTFM é o método mais correto de 
se aprender.
E confesso que procurei em alguns livros/sites...
Inclusive, no "Perl como programar" da "Deitel" na página 239 diz:

"Se digitarmos as palavras "didn't translate" no formulário e clicamos no 
botão submit, o script nos informa que nossap alavra é didn%27t+transalte. O 
que aconteceu aqui? Os navegadores da Web de hoje codificam como URL os 
dados de formulários HTML que eles enviam. Isto significa que os espaços 
devolvidos como sinais mais e alguns outros símbolos (como o apóstrofe) são 
traduzidos para seu valor ASCII no formato hexadecimal e precedidos com um 
sinal de percentual. A codificação de URL ocorre porque alguns caracteres, 
como espaços e apóstrofes, não podem aparecer em um URL."

Porém folhei várias páginas posteriores e não havia nenhuma informação de 
corrigir esses caracteres.

E essa regexp é perfeita Luciano! Talvez você mesmo tenha feito, talvez você 
tenha encontrado em alguma referência bibliográfica. Agradeço por 
compartilhá-la!

Nilson, agradeço-o também pelo seu-tempo para dar dicas e eu identificar os 
problemas. Assim como o Eden.

Catalyst, CGI::AJAX, Dojo + Catalyst que citaram sei que são úteis, pois já 
citaram várias vezes aqui. Pretendo (em breve) estudá-los.

Agnaldo, esse site que você encontrou também dá solução ao problema. Tão 
simples não é!?!? Valeu mesmo!

[]s,
Fernando

----- Original Message ----- 
From: "Luciano Giordani Bassani" <lgbassani em terra.com.br>
To: "Cascavel Perl Mongers" <cascavel-pm em pm.org>; 
<fernandolouis em terra.com.br>
Sent: Monday, September 01, 2008 9:05 PM
Subject: Re: [Cascavel-pm] Problemas apenas nas requisições via ajax 
(caracteres com acentuação)


> Vão me xingar um monte por postar uma provável solução, mas...
>
> Eu creio que mesmo que você force um charset iso, quando usa AJAX ou monta 
> um formulário via Javascript, a requisição SEMPRE será feita em utf-8. Eu 
> tenho este problema a muito tempo, mesmo antes de usar o AJAX, quando eu 
> montava uma requisição somando vários forms de iframes. Mas não sei 
> exatamente a teoria disso.
> Não tenho como testar o teu código aqui, mas creio que algo assim 
> resolveria:
>
> $NOTICIA = $input{noticia};
> $NOTICIA =~ 
> s/([\xC0-\xDF])([\x80-\xBF])/chr(ord($1)<<6&0xC0|ord($2)&0x3F)/eg;
>
> $query = "INSERT INTO `teste_noticia` VALUES('$NOTICIA')";
> ...
>
> Resumindo, a regex ilegível à cima faz tudo (não sou programador Perl de 
> verdade, apenas uso Perl nos meus programas, hehehe)  :-P
> <modo aguentar ogro me xingado ligado>
>
>
>
> SDS,
>
> Luciano Giordani Bassani
> lgbassani em terra.com.br
>
>
>
> fernandolouis em terra.com.br escreveu:
>> Nilson,
>>
>> - O erro de chartset não ocorre mais;
>> - Resolvi usar a biblioteca cgi.pm para pegar os parâmetros e igualmente 
>> insere errado via AJAX.
>>
>> por favor, verifique e veja se há alguma informação que me elucie.
>>
>> []s,
>> Fernando
>>
>> ----- Original Message ----- From: "Nilson Santos Figueiredo Junior" 
>> <acid06 em gmail.com>
>> To: "Cascavel Perl Mongers" <cascavel-pm em pm.org>
>> Sent: Monday, September 01, 2008 5:00 PM
>> Subject: Re: [Cascavel-pm]Problemas apenas nas requisições via ajax 
>> (caracteres com acentuação)
>>
>>
>> 2008/9/1  <fernandolouis em terra.com.br>:
>>> a leitura dos parâmetros também estão ok
>>
>> Errado. Sua leitura de parâmetros está incorreta.
>> Como até estava com boa vontade pra tentar te ajudar, resolvi entrar
>> no link fornecido.
>>
>> Quando tentei fazer o teste de inserção com AJAX de um texto acentuado
>> de exemplo, recebi a seguinte mensagem de erro:
>>
>>  cgi-lib.pl: Unknown Content-type: application/x-www-form-urlencoded;
>> charset=UTF-8
>>
>> Ou seja:
>>
>> 1) O browser está enviando em UTF8, como eu sugeri anteriormente.
>> 2) Sua biblioteca não-padrão para leitura de parâmetros não funciona
>> corretamente, como eu sugeri anteriormente.
>>
>> Infelizmente, não poderei te ajudar mais até que você resolva querer
>> desenvolver seguindo o mínimo de boas práticas.
>>
>> -Nilson Santos F. Jr.
>> _______________________________________________
>> Cascavel-pm mailing list
>> Cascavel-pm em pm.org
>> http://mail.pm.org/mailman/listinfo/cascavel-pm
>>
>> _______________________________________________
>> Cascavel-pm mailing list
>> Cascavel-pm em pm.org
>> http://mail.pm.org/mailman/listinfo/cascavel-pm
>>
>>
> 



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