[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