Foros del Web » Programando para Internet » Javascript »

IFrame dinámico y charset

Estas en el tema de IFrame dinámico y charset en el foro de Javascript en Foros del Web. ¡¡Hola, foristas!! Estoy creando una aplicación donde se usa una mezcla entre Javascript, AJAX e IFrames. Un ejemplo se da en los popups: cuando dejas ...
  #1 (permalink)  
Antiguo 07/05/2008, 06:19
 
Fecha de Ingreso: mayo-2008
Mensajes: 3
Antigüedad: 16 años
Puntos: 0
IFrame dinámico y charset

¡¡Hola, foristas!!
Estoy creando una aplicación donde se usa una mezcla entre Javascript, AJAX e IFrames. Un ejemplo se da en los popups: cuando dejas el cursor unos segundos sobre un elemento, se tramita una consulta via AJAX (HTTPRequest) y se escribe la respuesta en un IFrame nuevo. Otro ejemplo es cuando se edita un elemento, con un procedimiento muy parecido al de los popups.

Mi problema es que no he encontrado la manera de hacer que en dicho IFrame se muestren los acentos correctamente. Es decir, cuando llega la respuesta y la escribo dentro del IFrame (con document.write), los caracteres especiales (acentos, eñes, çes, etc) se muestran mal (con un interrogante en fondo negro). He comprobado el árbol DOM y he visto que el characterSet es UTF-8 para el document del IFrame.

He probado añadiendo el tag META típico del HTML en el HEAD para marcar el charset, pero no ha funcionado. También lo he intentado añadiendo el atributo charset='iso-8859-1' en el tag del script, pero tampoco. He intentado modificar mediante DOM las características del document, pero no es posible (atributo de solo lectura). También he probado añadiendo en el header de la consulta HTTPRequest el Accept-Charset, pero tampoco ha funcionado.

Algo que a lo mejor ayuda a determinar el problema es que, cuando se edita un elemento, hay una pantalla de confirmación que se muestra al hacer submit del formulario. Esta acción no ejecuta ningún JavaScript: es el submit de un formulario al apretar un botón. Pues la respuesta HTML se muestra en el mismo IFrame, pero esta vez mostrando los acentos correctamente.

¿A alguien se le ocurre la manera de hacer que esto funcione bien (como en el caso del submit)? La idea es mantener el AJAX, es decir, la solución no puede pasar por cambiar la HTTPRequest por un target='popup' ... popup.onload = muestraIFrame;.

¡¡Gracias de antemano!!

emi
  #2 (permalink)  
Antiguo 07/05/2008, 07:45
 
Fecha de Ingreso: mayo-2008
Mensajes: 3
Antigüedad: 16 años
Puntos: 0
Re: IFrame dinámico y charset

Hola! Yo mismo me respondo:
Teniendo acceso a la configuración del servidor HTTP, en mi caso apache2, he añadido la opción AddDefaultCharset iso-8859-1 al fichero correspondiente (según la versión, para mi es /etc/apache2/conf.d/charset).

Y ya está.

Gracias a John (jscheuer1) de www.dynamicdrive.com

Hasta la vista!!

emi
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 11:03.