Foros del Web » Programando para Internet » Javascript » Frameworks JS »

charset en ajax con php

Estas en el tema de charset en ajax con php en el foro de Frameworks JS en Foros del Web. Buenas: Estoy solicitando a una pag php por ajax codigo html que lo inserto en un div , como se hace clasicamente dentro del innerHTML. ...
  #1 (permalink)  
Antiguo 20/11/2005, 13:28
Avatar de Viet  
Fecha de Ingreso: octubre-2003
Ubicación: Mar del Plata - Argentina
Mensajes: 247
Antigüedad: 21 años, 2 meses
Puntos: 2
charset en ajax con php

Buenas:

Estoy solicitando a una pag php por ajax codigo html que lo inserto en un div , como se hace clasicamente dentro del innerHTML.

El tema es que los todos los caracteres que estan con tilde(acento) me los pone como un "?" dentro de la pagina.

Estimo que debo cambiar el header dentro de php antres de hacer el echo... pero alguien sabe que le paso?????
__________________
Keep it simple and keep it fast.
  #2 (permalink)  
Antiguo 20/11/2005, 13:40
Avatar de Cap.Buscapina  
Fecha de Ingreso: octubre-2004
Ubicación: Argentina
Mensajes: 836
Antigüedad: 20 años, 2 meses
Puntos: 4
fijate si te sirve este enlace

http://php.apsique.com/ajax/utf8
__________________
by Capitán Buscapina
.
  #3 (permalink)  
Antiguo 20/11/2005, 15:47
Avatar de SiR.CARAJ0DIDA  
Fecha de Ingreso: junio-2004
Ubicación: Acá
Mensajes: 1.166
Antigüedad: 20 años, 5 meses
Puntos: 4
lei eso y sigo sin entender que usar.. UTF-8 o ISO-8859-1 ?????

lo de escape y encodeURIComponent tampoco entendi... yo uso una funcion mejorada de escape que codifica el + y la / y me funciona bien
__________________
Internet Explorer SuckS
Download FireFox
  #4 (permalink)  
Antiguo 20/11/2005, 16:14
Avatar de Viet  
Fecha de Ingreso: octubre-2003
Ubicación: Mar del Plata - Argentina
Mensajes: 247
Antigüedad: 21 años, 2 meses
Puntos: 2
Desacuerdo



Si lo que me quedo es es que debo usar utf-8

La verdad que lo lei pero tampoco entendi que debo poder del lado del php o bien en el xmlHttprequest para que me salga correcto....

help!
__________________
Keep it simple and keep it fast.
  #5 (permalink)  
Antiguo 20/11/2005, 16:24
 
Fecha de Ingreso: noviembre-2002
Ubicación: Mex
Mensajes: 140
Antigüedad: 22 años
Puntos: 0
Yo siempre uso htmlentities() en php.

Sin embargo ha veces hay broncas con el XML.

Pruébalo.
__________________
escribiendo mi libro de AJAX
  #6 (permalink)  
Antiguo 20/11/2005, 16:31
Avatar de Viet  
Fecha de Ingreso: octubre-2003
Ubicación: Mar del Plata - Argentina
Mensajes: 247
Antigüedad: 21 años, 2 meses
Puntos: 2
Hola efra!!!!

la verdad que lo pruebo pero ahora me muestra todo el HTML dentro del div , o sea me lo transformo a los caracteres que emulan los < , etc... no se si me explico
__________________
Keep it simple and keep it fast.
  #7 (permalink)  
Antiguo 20/11/2005, 16:38
 
Fecha de Ingreso: noviembre-2002
Ubicación: Mex
Mensajes: 140
Antigüedad: 22 años
Puntos: 0
Dos Cosas Dos:

1.-Cuando XMLhttpRequest devuelve el resultado como texto es fácil manipular los caracteres latinos con htmlentities().

2.-Cuando XMLhttpRequest devuelve el reasultado como XML el parser no acepta caracteres latinos.

Lamentablemente en este caso sólo es cuestión de diseño y no de programación. Aún así voy a revisar...
__________________
escribiendo mi libro de AJAX
  #8 (permalink)  
Antiguo 20/11/2005, 17:25
Avatar de SiR.CARAJ0DIDA  
Fecha de Ingreso: junio-2004
Ubicación: Acá
Mensajes: 1.166
Antigüedad: 20 años, 5 meses
Puntos: 4
estuve viendo muchas paginas tanto en español como ingles y 90% de ellas tiene <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />

Estuve haciendo pruebas aca: http://www.torneosnydus.com/test.php

y al parecer solo anda con escape, tambien probe con las demas funciones y devolviendo texto en UTF-8 y no me funciono..

fijense tambien q la funcion escape no funciona del todo bien, el caracter "+" se recibe como un espacio ya que no es codificado, usen esta en su lugar:

/* funcion mejorada de escape() para AJAX */
function encode(v)
{
return escape(v).replace(/\+/ig, '%2B').replace(/\//ig, '%2F');
}
__________________
Internet Explorer SuckS
Download FireFox

Última edición por SiR.CARAJ0DIDA; 20/11/2005 a las 17:52
  #9 (permalink)  
Antiguo 21/11/2005, 05:08
Avatar de Viet  
Fecha de Ingreso: octubre-2003
Ubicación: Mar del Plata - Argentina
Mensajes: 247
Antigüedad: 21 años, 2 meses
Puntos: 2
Muy Claro y simple SIR!...

Pero para transmitir desde el server al browser ??, as ahi donde yo tengo el problema.

Probe lo que dice Efra y lo unico que pasa es que ahora me muestra en la pag el codigo html generado en el php.

Ejemplo de mi php:

Cita:
<?
echo "<p>contáctos</p>";
?>
Si lo hago asi en la pagina voy a ver cont?actos

.... y como dijo efra
Cita:
<?
echo htmlentities("<p>contáctos</p>");
?>
Si lo hago asi en la pagina voy a ver <p>contáctos<p>....
__________________
Keep it simple and keep it fast.
  #10 (permalink)  
Antiguo 21/11/2005, 07:25
Avatar de SiR.CARAJ0DIDA  
Fecha de Ingreso: junio-2004
Ubicación: Acá
Mensajes: 1.166
Antigüedad: 20 años, 5 meses
Puntos: 4
no entiendo, primero que recibir html con ajax esta mal ya que son mas caracteres que transmite al pedo porq el html lo generas vos con javascript, lo mismo pasa con xml, lo mejor para que tenga buen rendimiento es recibir texto plano. antes de enviar texto como respuesta siempre envia un header (PHP)

header("Content-Type: text/plain; charset=ISO-8859-1");
echo 'texto que se envia a ajax';
exit;
__________________
Internet Explorer SuckS
Download FireFox
  #11 (permalink)  
Antiguo 21/11/2005, 09:06
Avatar de Viet  
Fecha de Ingreso: octubre-2003
Ubicación: Mar del Plata - Argentina
Mensajes: 247
Antigüedad: 21 años, 2 meses
Puntos: 2
Cita:
Iniciado por SiR.CARAJ0DIDA
primero que recibir html con ajax esta mal ya que son mas caracteres que transmite al pedo
Estoy totalmente de acuerdo... lo que pasa es que estoy migrando un site y estoy reutilizando unas clases muy piolas de php que me generan mucho con poco esfuerzo.... hasta que remplace los componentes me manejaba de esa forma....

Voy a probar de cambiar el header....
__________________
Keep it simple and keep it fast.
  #12 (permalink)  
Antiguo 21/11/2005, 15:30
Avatar de Viet  
Fecha de Ingreso: octubre-2003
Ubicación: Mar del Plata - Argentina
Mensajes: 247
Antigüedad: 21 años, 2 meses
Puntos: 2
EXELEEEEEEENNNNNNTE!!!!!!!!!

Muchas Gracias ... te prometo que te pago el liffting!! jajajaja :P
__________________
Keep it simple and keep it fast.
  #13 (permalink)  
Antiguo 25/11/2005, 14:23
 
Fecha de Ingreso: julio-2003
Mensajes: 21
Antigüedad: 21 años, 4 meses
Puntos: 0
Ejemplo de cómo solucionar los problemas con la codificación de caracteres. Está al final de la página.
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 02:40.