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

Desesperada con los acentos y AJAX

Estas en el tema de Desesperada con los acentos y AJAX en el foro de Frameworks JS en Foros del Web. Hola Genero una serie de páginas XHTML que importan ficheros XML. Las páginas están en disco local y los archivos xml también. La importación funciona ...
  #1 (permalink)  
Antiguo 15/05/2007, 14:39
 
Fecha de Ingreso: mayo-2007
Mensajes: 2
Antigüedad: 17 años, 7 meses
Puntos: 0
Desesperada con los acentos y AJAX

Hola Genero una serie de páginas XHTML que importan ficheros XML. Las páginas están en disco local y los archivos xml también. La importación funciona OK el único problema son los acentos y eñes que salen como interrogantes.

Los xml llevan directamente los textos con acentos y eñes. Si en la página no importo los textos , y los pongo directamente dentro de la página se ven OK. Pero al importar se ven mal.

He visto alguna solución en PHP, pero esto se va a ejecutar en discos locales, en ordenadores de usuario.

Cualquier ayuda será de Agradecer.

La fución que uso es:

function clientSideInclude(id, url) {
var req = false;
// For Safari, Firefox, and other non-MS browsers
if (window.XMLHttpRequest) {
try {
req = new XMLHttpRequest();
} catch (e) {
req = false;
}
} else if (window.ActiveXObject) {
// For Internet Explorer on Windows
try {
req = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
req = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
req = false;
}
}
}
var element = document.getElementById(id);
if (!element) {
alert("Bad id " + id +
"passed to clientSideInclude." +
"You need a div or span element " +
"with this id in your page.");
return;
}
if (req) {
// Synchronous request, wait till we have it all
req.open('GET', url, false);
req.send(null);
element.innerHTML = req.responseText;
} else {
element.innerHTML =
"Sorry, your browser does not support " +
"XMLHTTPRequest objects. This page requires " +
"Internet Explorer 5 or better for Windows, " +
"or Firefox for any system, or Safari. Other " +
"compatible browsers may also exist.";
}
}


La cabecera de la página es la siguiente:

<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" ...>
<html xmlns="http:...>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Pagina 50 para demo</title>
<link rel="stylesheet" type="text/css" href="50.css" />


El contenido de un XML sería similar a este ejemplo:

<?xml version='1.0' encoding='iso-8859-1'?>
<!DOCTYPE note [
]>
<?xml-stylesheet href="PASS.CSS" type="text/css"?>
<document lang="spanish"><content><Titulo id="1" style="H30PASS1"><p class="H30PASS1">Texto de prueba para ver como va</p></Titulo><Texto id="2" style="TextoPASS1"><p class="TextoPASS1">Texto de prueba para ver como vá</p></Texto>
</content></document>
  #2 (permalink)  
Antiguo 15/05/2007, 17:44
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 23 años, 4 meses
Puntos: 9
Re: Desesperada con los acentos y AJAX

a mi me extraña que no se vea bien, en ese caso mejor usa el lenguaje de HTML (&acuote; para á) con los acentos. Yo lo veo como última alternativa.

Veo que si usas bien el encoding, y creo que peude ser tambien del lenguaje. No crees?
  #3 (permalink)  
Antiguo 15/05/2007, 21:11
Avatar de Yaraher  
Fecha de Ingreso: abril-2007
Ubicación: Lima, Perú
Mensajes: 262
Antigüedad: 17 años, 8 meses
Puntos: 9
Re: Desesperada con los acentos y AJAX

Opino igual que lado2mx. Tienes dos maneras, o mantener tu texto en XML con los códigos específicos de XHTML:

Código:
á : &aacute;   Á : &Aacute;
é : &aacute;   É : &Aacute;
í : &aacute;   Í : &Aacute;
ó : &aacute;   Ó : &Aacute;
ú : &aacute;   Ú : &Aacute;
ñ : &ntilde;  &Ntilde;
o en su defecto, dejarlos como los tienes ahora, pero usando alguna función en código para que los transforme.
  #4 (permalink)  
Antiguo 16/05/2007, 13:46
 
Fecha de Ingreso: mayo-2007
Mensajes: 2
Antigüedad: 17 años, 7 meses
Puntos: 0
Re: Desesperada con los acentos y AJAX

Los textos del XML no los puedo cambiar, ya que vienen asi de un Editor. El usuario escribe el texto en un editor XML y el texto luego se importa en la página.

Veré lo de las transformaciones.

Gracias!!
  #5 (permalink)  
Antiguo 21/05/2007, 13:40
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 23 años, 4 meses
Puntos: 9
Re: Desesperada con los acentos y AJAX

Si tienes eso en php, la cadena que te sirve para mostrar eso en HTML entendible es la función htmlentities()
por Ejemplo:
Código PHP:
<?

$variable
="Animación para el adulto que llevamos dentro";
$variable=htmlentities($variable);
echo 
$variable;

// revisa el resultado de aquí

 
?>
  #6 (permalink)  
Antiguo 24/05/2007, 11:02
Avatar de MarioNunes  
Fecha de Ingreso: agosto-2005
Mensajes: 280
Antigüedad: 19 años, 4 meses
Puntos: 1
Re: Desesperada con los acentos y AJAX

utf8_enconde()
utf8_decode()

el http request funciona en utf8.

Esas funciones son de php, si trabajas en otro lenguaje pues el equivalente

Un saludo.
__________________
www.pensandoenred.com
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 00:01.