Foros del Web » Programando para Internet » Javascript »

problemillas con XMLHttpRequest

Estas en el tema de problemillas con XMLHttpRequest en el foro de Javascript en Foros del Web. buenas a todos, estoy probando con la función XMLHttpRequest, la verdad es que nunca había hecho nada con esto y me resulto muy interesante, lo ...
  #1 (permalink)  
Antiguo 11/02/2009, 01:32
 
Fecha de Ingreso: diciembre-2007
Mensajes: 74
Antigüedad: 16 años, 5 meses
Puntos: 0
problemillas con XMLHttpRequest

buenas a todos, estoy probando con la función XMLHttpRequest, la verdad es que nunca había hecho nada con esto y me resulto muy interesante, lo único, es que me ha surgido un problemilla, cuando recibo los caracteres, los que van con acento los sustituye con un caracter extrañísimo, ¿alquien sabe porque y como se arregla esto?

un saludo...

y gracias....
  #2 (permalink)  
Antiguo 11/02/2009, 09:28
Avatar de SPAWN3000  
Fecha de Ingreso: marzo-2008
Ubicación: Bogota
Mensajes: 858
Antigüedad: 16 años, 2 meses
Puntos: 15
Respuesta: problemillas con XMLHttpRequest

Creo que tu pregunta debería estar indexada en el foro de AJAX y no especificas en que lenguaje trabajas, ni el servidor...

Lo mas probable es que la codificación este definida con UTF-8, Para utilizar acentos o Ñ comúnmente se utiliza ISO-8859-1(Codificación es español o castellano). UTF-8(ES internacional-y tiene una mayor capacidad y soporte para caracteres...Pero se debe conocer como implementarlo, es algo básico).

En java script debes utilizar "escape" y "unescape"....para escapar caracteres extraños.
también esta urlencode.
var cadena=unescape(ajax.responseText);
eval(cadena);
hasta puedes agregar esto....
AJ_html=AJ_html.replace(/\n/gi,"");
document.getElementById(destinoi).innerHTML=AJ_htm l;
y si utilizas GET:
Puedes implementar urlencode

Si estas utilizando PHP, deberías enviar tus datos con Htmlentities...
<?php echo htmlentities($_POST['texto']);?>

Si por el contrario utilizas Java o jSP.
Colocas esto al inicio del archivo.
<%@page contentType="text/html" pageEncoding="UTF-8"%>
Pero igual puedes probar agregándole esto...
request.setCharacterEncoding("UTF-8");
Igual en el Metatag de tu HTML...

y si usas transacciones GET, especifica Header's para evitar que el cache sea tu navegador...jeje.

También debes verificar la codificación que utiliza la base de datos(Si es que estas recuperando la BD).

UTF-8: Es lo recomendado, aun mas si se espera visitas internacionales en tu web. Por eso trata de que todo trabaje con UTF-8, la web, javascript, El PHP o JSP o ASP, y tu BD si te lo permite. Mysql tiene la propiedad de poder definir la codificación para cada BD, e incluso para cada tabla y campo(Y esto no lo he encontrado en otras BD, no se Postgresql u Oracle...Lo cual no lo hace Sybase, SQLserver y otras, et permiten cambiar la codificación, pero esto se establece para todas las BD en el Servidor. grave).

Una razón, en apache existe una directiva:
AddDefaultCharset UTF-8, la cual es mejor dejarla así con su configuración por defecto, la cual transforma todos tus caracteres de forma automática...

Un saludo.

Última edición por SPAWN3000; 11/02/2009 a las 09:45
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:48.