Acentuação no Ajax

2 respostas
J
Tenho uma aplicação web com JSP e TomCat 5.0, utilizo Ajax em algumas páginas e estou com problemas de acentuação quando envio um parâmetro do tipo String que tenha no seu conteúdo alguma letra com acento, no local da letra com acento aparece uma ?. Já tentei diversas soluções e nada. Alguém me ajude estou aflito não encontro uma solução. 1 - Já coloquei no cabeçalho das páginas JSP e não resolveu.
<%@page pageEncoding="ISO-8859-1"%>
2 - Coloquei em todos os arquivos ?web.xml? e não resolveu.
<?xml version="1.0" encoding="ISO-8859-1" ?>

Segue abaixo o código da duas páginas JSP:

PÁGINA DE ENVIO / RECEBIMENTO
<%@ page contentType="text/html"%>
<%@ page pageEncoding="ISO-8859-1"%>
<html>
    <head>
        <title>Envio</title>
        <script type="text/javascript">
        <!--
        var xmlhttp = null;
        function pegaConteudo() {
            try {
                xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (E) {
                    xmlhttp = false;
                }
            }
            if  (!xmlhttp && typeof  XMLHttpRequest != 'undefined' ) {
                try  {
                    xmlhttp = new  XMLHttpRequest();
                } catch  (e) {
                    xmlhttp = false ;
                }
            }
            if (xmlhttp) {
                var pConteudo= document.form1.txtConteudo.value;
                xmlhttp.onreadystatechange = processadorMudancaEstado;
                xmlhttp.open("POST", "retorno.jsp?parametro="+pConteudo);
                xmlhttp.send(null);
            }
        }
        function processadorMudancaEstado () {
            if ( xmlhttp.readyState == 4) { // Completo
                if ( xmlhttp.status == 200) { // resposta do servidor OK
                    document.getElementById("div_conteudo").innerHTML = xmlhttp.responseText;
                } else {
                    alert( "Problema: " + xmlhttp.statusText );
                }
            }
        }
        -->
        </script>        
    </head>
    <body>
        <form name="form1" id="form1">
        <div id="div_conteudo">" Aqui o parametro será retornado "</div>
            <input type="text" name="txtConteudo" id="txtConteudo">
            <input type="button" value="Enviar parametro" name="carregador" id="carregador" title="Carregador" onclick="pegaConteudo();">
        </form>
    </body>
</html>
RETORNO
<% @page contentType="text/html"%>
<% @page pageEncoding="ISO-8859-1"%>
<html>
    <head>
        <title>Retorno</title>
    </head>
    <body>
        <%=request.getParameter("parametro")%>
    </body>
</html>

2 Respostas

maquiavelbona

Boa tarde!

Já tentaste mudar o tipo de codificação? Por exemplo, para UTF-8 ?

<?xml version="1.0" encoding="UTF-8" ?>

Eu trabalhava com essa codificação para não perder informações com acentos e cedilhas.

Até!

cv1

Procure por unicode aqui no GUJ, e no google por ‘unicode joel spolsky’. :wink:

Criado 11 de outubro de 2006
Ultima resposta 11 de out. de 2006
Respostas 2
Participantes 3