AJAX + caracteres especiais

3 respostas
P

Olá pessoal.
Tô com um problema esquisito aqui…

Tenho uma página JSP e utilizo AJAX para gravar informações em um banco. Bem… tem um campo na página que grava um texto lançado pelo usuário. Até aí tudo bem! O texto é gravado normalmente, sempre. Porém, se for digitado o símbolo “%” (porcentagem) no texto, a informação é gravada no banco como null, e já era.

Alguém tem alguma idéia do que justifica isto, e uma possível solução?

Grato!

3 Respostas

P

Pessoal só uma observação:

Descobri que o “problema” n está no AJAX, mas sim no próprio JSP.
Fiz um teste colocando os dados na própria barra de endereço do browser, e vi q o “problema” está aí.

Observem:

[color=red]http://localhost:8080/jogo/control/controlNoticia.jsp?acao=1&variavel=0&cod=0&titulo=teste&conteudo=resultado[/color]
Aqui os dados são gravados normalmente, porém…

[color=darkred]http://localhost:8080/jogo/control/controlNoticia.jsp?acao=1&variavel=0&cod=0&titulo=teste de %valor&conteudo=mamae[/color]
Observem que na variavel “titulo” eu coloquei o síbolo de porcentagem. O problema está todo aí.

E aí, alguém tem alguma sugestao?

P

A URL é gerada no lado do servidor e enviada para o browser como parte da página ? Neste caso vc. precisa dar um URLEncode no conteúdo antes de colocá-lo na página.

O problema que vc. está a ter é causado pelo fato de ‘%’ ser um caracter reservado em URLs, e utilizado para o envio de caracteres especiais (inclusive o próprio %).

Só por curiosidade, o tratamento incorreto de % em versões antigas do IIS fez a alegria de hackers por um bom tempo…

P

Bicho valeu pela ajuda!

Apesar de já ter resolvido o problema através de uma “gambiarra”, coisa q n sou muito fâ. Foi bom entender realmente o que estava ocorrendo e aplicar a solução ideal.

Grato!

Criado 22 de janeiro de 2007
Ultima resposta 23 de jan. de 2007
Respostas 3
Participantes 2