[DICA] Bug ajax x IE - codificação
Fala galera!
Depois de muito chorar e xingar o Internet Explorer, enfim encontrei uma possível solução para a acentuação.
Acho que quem trabalhar com ajax aqui já passou por isso, no FF e Chorme funciona que é uma beleza, mas chega no IE...
=´(
Bom, tenho um sistema que funciona como um curso de idiomas e entre esses cursos, existe um curso de Russo. Por sua vez, Russo não aceita o charset iso-8859-1.
Procurando em fóruns encontrei a solução de colocar <%response.charset="iso-8859-1"%> na página que recebe os dados, e realmente funciona para PT.
Depois de muitos e muitos testes descobri que o erro não está no AJAX e sim um bug que o IE ao passar por queryString.
façam o teste:
Se vocês passarem desse jeito o erro acontece
pagina.asp?var=д
o resultado é este : ?
Agora passando desse jeito
pagina.asp?var=%D0%B4
o resultado é este: д
E qual a solução para ajax?
Basta ir no javascript e mandar codificar a URL
var URL = "pagina.asp?var="+campo;
Enviar.open("GET",encodeURI(URL), false);
o segredo está aqui : encodeURI(URL)
essa função transforma isso д em isso %D0%B4
Discussão (1)
Carregando comentários...