Problema com caracter "&" em variavel passada pela request
4 respostas
xandevieira
Bom dia, estou passando pela concatenando na request varias variaveis, porem uma delas contem “&”, ex. X&Y Empreendimento Ltda, recuperando os dados na outra pagina fica somente “X” tocurei no forum e encontrei este post, mas eh meio antigo e no google encontrei alguma coisa, mas a porcaria do firewall da empresa barrou as paginas, alguem teria uma solução para o problema?
Obs. não posso dar replace no caracter pq o cliente pode reclamar.
Você tem de dar replace no caracter, não há como evitar isso. Se você não fizer isso, vai ficar com algo ambíguo e vai ter de resolver manualmente com request.getQueryString(), mas aí fica com você a responsabilidade de separar os parâmetros sei lá como.
O que você obtém na sua página com request.getParameter (“album”) é exatamente o esperado, ou seja, “X&Y”.
xandevieira
poze, vou ver o que consigo fazer, como disse, se eu fizer replace o cliente vai reclamar.
vlw
davidbuzatto
Não testei, mas aqui - http://blog.csdn.net/memhoo/archive/2008/03/02/2139617.aspx - parece ter um codificador de URL q vc pode usar no seu formulário. Ele coloca a URL de acordo com a RFC 2396 - Uniform Resource Identifiers (URI): Generic Syntax, que dita como uma URL deve ser codificada para escapar os caracteres especiais como &, ?, etc.
[]´s
davidbuzatto
Basicamente ele mantem os alfanuméricos (sem acentos) e os caracteres especiais da URL como estão e o restante ele codifica colocando o sinal de % concatenado com o código hexadecimal do caracter, que é o que o thingol fez acima na mão.