AJAX - Acentos en Ajax

 
Vista:

Acentos en Ajax

Publicado por edwar (3 intervenciones) el 30/11/2006 16:04:35
Hola Carlos ... como dice Mario efectivamente hay problemas con los centos y las Ñ ... yo programo en zope y plone y uso el ajax en estas funciones :
function objetoAjax(){
var xmlhttp=false;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}

if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}

function pedirDatos(idempleado){
divFormulario = document.getElementById('resultado');
ajax=objetoAjax();
ajax.open("POST",'DMET_Proyecto',true)
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
divFormulario.innerHTML = ajax.responseText;
divFormulario.style.display="block";
}
}
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
ajax.send("ID_PROYECTO="+idempleado)
}

me devuelve en la capa div 'resultado' caracteres raros para las Ñ y los acentos ... como hago para que se muestren ...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Problemas con caracteres especiales (Ñ, acentos) al recibir respuesta del servidor en Zope/Plone

Publicado por Alejandro (17 intervenciones) el 27/02/2024 17:29:55
Edwar, el problema que estás experimentando con los caracteres especiales como las Ñ y los acentos podría deberse a la codificación de caracteres utilizada en la respuesta del servidor y cómo se interpreta en el lado del cliente.

Asegúrate de que el servidor esté configurado para enviar la respuesta con una codificación adecuada, como UTF-8. Puedes establecer la codificación en la respuesta del servidor en tu aplicación Zope/Plone.

Además, en el lado del cliente, puedes especificar la codificación en la que esperas recibir la respuesta. Modifica tu función `pedirDatos` para incluir la configuración de la codificación:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function pedirDatos(idempleado) {
    divFormulario = document.getElementById('resultado');
    ajax = objetoAjax();
 
    ajax.open("POST", 'DMET_Proyecto', true);
 
    // Especifica la codificación de caracteres esperada
    ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
 
    ajax.onreadystatechange = function() {
        if (ajax.readyState == 4) {
            divFormulario.innerHTML = ajax.responseText;
            divFormulario.style.display = "block";
        }
    }
 
    ajax.send("ID_PROYECTO=" + idempleado);
}

Asegúrate de que la respuesta del servidor esté realmente en UTF-8, y que los archivos de tu aplicación (tanto en el servidor como en el cliente) estén guardados con la misma codificación.

Si sigues teniendo problemas, también verifica si los encabezados HTTP de la respuesta del servidor contienen información sobre la codificación. Puedes hacer esto inspeccionando la respuesta en la pestaña de Red de las herramientas de desarrollador de tu navegador.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar