Foros del Web » Programando para Internet » ASP Clásico »

Problema con caracteres especiales entre AJAX y ASP

Estas en el tema de Problema con caracteres especiales entre AJAX y ASP en el foro de ASP Clásico en Foros del Web. Hola, actualmente estoy desarrollando un sitio web. El mismo esta constituido por la página propiamente dicha (.html) un archivo de para JavaScript y otro para ...
  #1 (permalink)  
Antiguo 28/04/2009, 21:58
 
Fecha de Ingreso: abril-2009
Mensajes: 56
Antigüedad: 16 años, 1 mes
Puntos: 4
Problema con caracteres especiales entre AJAX y ASP

Hola, actualmente estoy desarrollando un sitio web. El mismo esta constituido por la página propiamente dicha (.html) un archivo de para JavaScript y otro para realizar las consultas (.asp).
Cuando se realiza una consulta a la base de datos y el resultado de esta devuelve una cadena que contiene caracteres especiales, no hay inconvenientes para transmitirlos (le asigno al response el charset indicado).
Pero cuando desde JavaScript le envio una petición a la página .asp que debe realizar las consultas a la BD, si en la peticion hay caracteres especiales, estos caracteres son recibidos por el objeto request.form de forma erronea (simbolos raros).
Estoy codificando los valores al enviarlos con encodeURIComponent pero aún así request los recibe mal...

¿Alguien porque sucede esto y/o como solucionarlo?

Desde ya muchas gracias...
  #2 (permalink)  
Antiguo 29/04/2009, 04:34
Avatar de Valery-Net  
Fecha de Ingreso: agosto-2008
Mensajes: 694
Antigüedad: 16 años, 8 meses
Puntos: 12
Respuesta: Problema con caracteres especiales entre AJAX y ASP

qué charset estás usando?
  #3 (permalink)  
Antiguo 29/04/2009, 04:54
 
Fecha de Ingreso: abril-2009
Mensajes: 56
Antigüedad: 16 años, 1 mes
Puntos: 4
Respuesta: Problema con caracteres especiales entre AJAX y ASP

Estoy usando ISO-8859-1
Intente usar UTF-8 pero no se porque no me toma los caracteres la pagina :S
  #4 (permalink)  
Antiguo 29/04/2009, 06:00
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 4 meses
Puntos: 126
Respuesta: Problema con caracteres especiales entre AJAX y ASP

Hola

Puedes usar las funciones escape y unescape

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #5 (permalink)  
Antiguo 29/04/2009, 16:57
 
Fecha de Ingreso: abril-2009
Mensajes: 56
Antigüedad: 16 años, 1 mes
Puntos: 4
Respuesta: Problema con caracteres especiales entre AJAX y ASP

Pero no es eso lo que usar encodeURIComponent como ya lo estoy haciendo...?
  #6 (permalink)  
Antiguo 02/05/2009, 19:13
 
Fecha de Ingreso: abril-2009
Mensajes: 56
Antigüedad: 16 años, 1 mes
Puntos: 4
Respuesta: Problema con caracteres especiales entre AJAX y ASP

Pls algún gurú de ASP que me de una mano esto ya me esta rompiendo la cebeza y no se %$@&! pasa :S

Me larga los caracteres como cuando la página no entiende los caracteres... á é í ó ú
ya comienza a ser frustrante esto...

Por favor alguien que tenga alguna idea de como arreglarlo
  #7 (permalink)  
Antiguo 03/05/2009, 12:27
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 4 meses
Puntos: 126
Respuesta: Problema con caracteres especiales entre AJAX y ASP

Hola

Mira esto

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #8 (permalink)  
Antiguo 03/05/2009, 14:05
 
Fecha de Ingreso: abril-2009
Mensajes: 56
Antigüedad: 16 años, 1 mes
Puntos: 4
Respuesta: Problema con caracteres especiales entre AJAX y ASP

El problema no es de JavaScript sino de ASP. El request de ASP que toma la consulta hecha mediante AJAX decodifica la los parametros de forma autónoma.
Acá el problema es que el request no entiende los caracteres españoles (acentos y "ñ") y no se como hacer para que los entienda.
Pasandole las intrucciones codificadas o no (con encodeURIComponent) igualmente sigue sin entenderlos.
  #9 (permalink)  
Antiguo 03/05/2009, 15:51
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 18 años, 2 meses
Puntos: 88
Respuesta: Problema con caracteres especiales entre AJAX y ASP


las paginas ASP, tanto la de llamado como la que responde, en sus primeras lineas el siguiente parametro
Cita:
<%Response.charset="utf-8"%>
ahora... la que hace el llamado con AJAX, en sus headers de HTML debera tener
Cita:
<meta name="http-equiv" content="Content-type: text/html; charset=UTF-8"/>
despues de hacer esto.... se debera chekar si los caracteres continuan llegando con simbolos

En dado caso, primero puedes intentar con la funcion AJAX anexando escape/unescape en la parte donde recibe la respuesta

__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #10 (permalink)  
Antiguo 04/05/2009, 10:31
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
Respuesta: Problema con caracteres especiales entre AJAX y ASP

Cita:
Iniciado por gammassp Ver Mensaje
Cuando se realiza una consulta a la base de datos y el resultado de esta devuelve una cadena que contiene caracteres especiales, no hay inconvenientes para transmitirlos (le asigno al response el charset indicado).
Pero cuando desde JavaScript le envio una petición a la página .asp que debe realizar las consultas a la BD, si en la peticion hay caracteres especiales, estos caracteres son recibidos por el objeto request.form de forma erronea (simbolos raros).
Cita:
Iniciado por Shiryu_Libra Ver Mensaje

las paginas ASP, tanto la de llamado como la que responde, en sus primeras lineas el siguiente parametro


ahora... la que hace el llamado con AJAX, en sus headers de HTML debera tener


despues de hacer esto.... se debera chekar si los caracteres continuan llegando con simbolos

Solamente anexar a la solución propuesta por el caballero del zodiaco que el charset debería ser el usado para almacenar los datos, es decir, si estás almacenando en unicode, utf-8 es el indicado, si no, seguramente es ISO-8859-1.

Por defecto me parece que las llamadas asíncronas tratan los datos como utf-8 así que como dice Shiryu, necesitas declarar el charset explicítamente.

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #11 (permalink)  
Antiguo 05/05/2009, 04:40
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 4 meses
Puntos: 126
Respuesta: Problema con caracteres especiales entre AJAX y ASP

Hola

UG todo eso es cierto, pero creo que de nada le servirá sino usa como dice Shiryu, y le dije en post anteriores, las funciones escape y unescape

escape has de usarla en la repuesta y unescape en la recogida de esa respuesta

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #12 (permalink)  
Antiguo 05/05/2009, 05:17
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
Respuesta: Problema con caracteres especiales entre AJAX y ASP

Si claro, una no es privativa de la otra, mi comentario sólo fué para agrandar el problema

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #13 (permalink)  
Antiguo 05/05/2009, 05:41
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 4 meses
Puntos: 126
Respuesta: Problema con caracteres especiales entre AJAX y ASP

Cita:
Iniciado por u_goldman Ver Mensaje
Si claro, una no es privativa de la otra, mi comentario sólo fué para agrandar el problema

Saludos
Sí claro, así lo entendí
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
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 04:47.