Retroceder   Foros del Web > Programación para sitios web > XML

Respuesta
 
Herramientas Desplegado
Antiguo 10-jun-2005, 12:39   #1 (permalink)
Colaborador
Bandit llegará a ser famoso muy prontoBandit llegará a ser famoso muy pronto
 
Avatar de Bandit
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 11.573
No soporta los acentos

Hola:
Les agradecería un respuesta a éste problema que tengo:
Cuando hago mi archivo .xml, inicio cón éste codigo:
<?xml version="1.0" encoding="ISO-8859-1" ?>
Pero curiosamente al cargarlo no me muestra los acentos, en vez de acentos muestra un cuadradito.

A qué se debe?

Gracias de ante mano a sus respuestas.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
Bandit está desconectado   Responder Citando
Antiguo 13-jun-2005, 02:11   #2 (permalink)
Helbira está en el buen camino
 
Avatar de Helbira
 
Fecha de Ingreso: noviembre-2002
Ubicación: <?xml version="1.0"?><ubicacion>En todos los lugares y a la vez en ninguno</ubicacion>
Mensajes: 1.207
Qué cargas? El XML directamente en un navegador? o le pasas algún XSL a tu XML para mostrar el contenido de tus etiquetas? o quizás generas el XML dinámicamente con algún lenguaje de servidor y ya el XML se genera con los acentos mal?

Besos
__________________
BUSCO TELETRABAJO
Experiencia de mas de 4 años como desarrolladora web en PHP, ASP, XML, XSL, JavaScript, MySQL, PostGres, SQLServer, ...
Helbira está desconectado   Responder Citando
Antiguo 13-jun-2005, 09:40   #3 (permalink)
Colaborador
Bandit llegará a ser famoso muy prontoBandit llegará a ser famoso muy pronto
 
Avatar de Bandit
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 11.573
Hola Helbira:
Gracias por responder.
El .xml lo llamo dentro del Flash, estoy haciendo un panel de noticias, lo curioso es que en el ejemplo que tengo con ese código, si carga las palabras acentuadas, pero el que hice no la carga.
Ese es el problema que no le encuentro la razón.

Saludos.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
Bandit está desconectado   Responder Citando
Antiguo 13-jun-2005, 09:43   #4 (permalink)
Helbira está en el buen camino
 
Avatar de Helbira
 
Fecha de Ingreso: noviembre-2002
Ubicación: <?xml version="1.0"?><ubicacion>En todos los lugares y a la vez en ninguno</ubicacion>
Mensajes: 1.207
Y el encoding es el mismo? La cabecera del XML

Nota: Quita el espacio que tienes antes del cierre del prólogo del XML ... _?>
__________________
BUSCO TELETRABAJO
Experiencia de mas de 4 años como desarrolladora web en PHP, ASP, XML, XSL, JavaScript, MySQL, PostGres, SQLServer, ...
Helbira está desconectado   Responder Citando
Antiguo 13-jun-2005, 10:51   #5 (permalink)
Colaborador
Bandit llegará a ser famoso muy prontoBandit llegará a ser famoso muy pronto
 
Avatar de Bandit
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 11.573
Eliminé el espacio pero sigue sin mostrar los acentos.
Esto es como se muestra al cargarlo: La Polic�palestina detiene en Gaza al l�r de la Yihad isl�ca.
Este es el código:
<?xml version="1.0" encoding="ISO-8859-1"?>
<NOTICIAS>
<REFERENCIA url="noticia1.xml">La Policía palestina detiene en Gaza al líder de la Yihad islámica.</REFERENCIA>
</NOTICIAS>

Abusando de tu amabilidad quisiera también que me ayudes en el siguiente problema:
Como viste en el código de arriba solamente puse una referencia a la noticia1.xml, cuando pongo 3 noticias se muestra bien en el orden: noticia1.xml; noticia2.xml y noticia3.xml, pero cuando aumento una cuarta noticia con el nombre de noticia4.xml, se me cambia el orden, ya no la muestra en el orden 1, 2, 3 y 4, la cuarta noticia se muestra en segundo lugar. Y si aumento más noticias se va cambiando el orden.

Te agradecería darme una solución.

Saludos.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
Bandit está desconectado   Responder Citando
Antiguo 13-jun-2005, 11:16   #6 (permalink)
Helbira está en el buen camino
 
Avatar de Helbira
 
Fecha de Ingreso: noviembre-2002
Ubicación: <?xml version="1.0"?><ubicacion>En todos los lugares y a la vez en ninguno</ubicacion>
Mensajes: 1.207
Por que no me pones el código que usas para mostrar las noticias?
Yo de flash poco pero el código que usas para mostrarlas quizás sí que lo entienda y te pueda ayudar.

Besos
__________________
BUSCO TELETRABAJO
Experiencia de mas de 4 años como desarrolladora web en PHP, ASP, XML, XSL, JavaScript, MySQL, PostGres, SQLServer, ...
Helbira está desconectado   Responder Citando
Antiguo 13-jun-2005, 11:17   #7 (permalink)
Helbira está en el buen camino
 
Avatar de Helbira
 
Fecha de Ingreso: noviembre-2002
Ubicación: <?xml version="1.0"?><ubicacion>En todos los lugares y a la vez en ninguno</ubicacion>
Mensajes: 1.207
Con respecto a lo que dices que el ejemplo que cogiste para probar te funciona bien lo de los acentos, una pregunta. La diferencia entre el ejemplo y tu codigo propio solo es el XML?

Ese XML que es un archivo estático o lo generas dinámicamente con algún lenguaje de servidor?
__________________
BUSCO TELETRABAJO
Experiencia de mas de 4 años como desarrolladora web en PHP, ASP, XML, XSL, JavaScript, MySQL, PostGres, SQLServer, ...
Helbira está desconectado   Responder Citando
Antiguo 13-jun-2005, 11:37   #8 (permalink)
Colaborador
Bandit llegará a ser famoso muy prontoBandit llegará a ser famoso muy pronto
 
Avatar de Bandit
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 11.573
Este es el código en el primer frame del Flash, con el cual me carga los links a las noticias:
function cargaXML() {
var primerNivel = this.firstChild;
var noticias = primerNivel.childNodes;
var posicionY = 65;
noticias.reverse();
total = noticias.length;
for (x in noticias) {
noticia = noticias[x].firstChild;
duplicateMovieClip("plantilla", "titular"+x, x);
_root["titular"+x].titular = noticia.nodeValue;
_root["titular"+x].direccion = noticias[x].attributes.url;
_root["titular"+x]._y = posicionY;
posicionY += 25;
}
limpiaXML();
}
function limpiaXML() {
delete primerNivel;
delete noticias;
delete noticia;
delete docXML;
}
function cargarNoticia(direccion) {
url = direccion;
for (x=0; x<total; x++) {
removeMovieClip("titular"+x);
}
gotoAndStop(2);
}
var url, total;
var docXML = new XML();
docXML.ignoreWhite = true;
docXML.onLoad = cargaXML;
docXML.load("main2.xml");
stop();

En el frame 2 con éste código me carga las noticias de los links:
function cargaXML(){
primerNivel = this.firstChild;
fecha = "FECHA: "+ primerNivel.attributes.publicacion;
segundoNivel = primerNivel.childNodes;
autor = "AUTOR: " + segundoNivel[0].firstChild.nodeValue;
cuerpo = segundoNivel[1].firstChild.nodeValue;
limpiaXML()
}

function limpiaXML(){
delete primerNivel;
delete segundoNivel;
delete docXML;
}

docXML=new XML();
docXML.ignoreWhite = true;
docXML.onLoad = cargaXML;
docXML.load(url);

Gracias.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
Bandit está desconectado   Responder Citando
Antiguo 15-jun-2005, 04:33   #9 (permalink)
Helbira está en el buen camino
 
Avatar de Helbira
 
Fecha de Ingreso: noviembre-2002
Ubicación: <?xml version="1.0"?><ubicacion>En todos los lugares y a la vez en ninguno</ubicacion>
Mensajes: 1.207
Pues parece todo correcto.

Una pregunta, tu que cargas un XML estático o lo generas al vuelo o que?
Si lo generas al vuelo o dinamicamente... puedes visualizar el codigo xml completo que te genera? si es asi... puedes pegarlo aqui?

Besos
__________________
BUSCO TELETRABAJO
Experiencia de mas de 4 años como desarrolladora web en PHP, ASP, XML, XSL, JavaScript, MySQL, PostGres, SQLServer, ...
Helbira está desconectado   Responder Citando
Antiguo 15-jun-2005, 10:05   #10 (permalink)
Colaborador
Bandit llegará a ser famoso muy prontoBandit llegará a ser famoso muy pronto
 
Avatar de Bandit
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 11.573
Hola Helbira:
No uso ningún otro lenguaje de parte del servidor, las pruebas las estoy haciendo en local, como te conté el ejemplo que tengo si carga los acentos y éste es el código del XML que genera los links:
<?xml version="1.0" encoding="ISO-8859-1"?>
<NOTICIAS>
<REFERENCIA url="noticia1.xml">El 'Gordo', el 18795, se va a Murcia y a La Palma.</REFERENCIA>
<REFERENCIA url="noticia2.xml">La Policía palestina detiene en Gaza al líder de la Yihad islámica.</REFERENCIA>
<REFERENCIA url="noticia3.xml">El presidente de Pakistán dice que Bin Laden posiblemente murió en Tora Bora durante los bombardeos.</REFERENCIA>
<REFERENCIA url="noticia4.xml">Probando la carga del texto en XML.</REFERENCIA>
<REFERENCIA url="noticia5.xml">Esta es la quinta noticia.</REFERENCIA>
<REFERENCIA url="noticia6.xml">Esta debe ser la última noticia.</REFERENCIA>
</NOTICIAS>

las 3 primeras noticias son las que tiene el ejemplo, le aumente 3 links más a las noticias más para ver si las cargaba en orden, pero no lo hace así, les cambia en el orden, por ejemplo aparecen los links a las noticias en éste orden: 3, 4, 2, 5, 1 y 6 en ves de 1, 2, 3, 4, 5, y 6.
Y los acentos no las respeta.

Muy reconocido por tu gentileza en contestarme.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
Bandit está desconectado   Responder Citando
Antiguo 15-jun-2005, 10:49   #11 (permalink)
Helbira está en el buen camino
 
Avatar de Helbira
 
Fecha de Ingreso: noviembre-2002
Ubicación: <?xml version="1.0"?><ubicacion>En todos los lugares y a la vez en ninguno</ubicacion>
Mensajes: 1.207
Mira lo del orden es secundario, al menos para mi. El problema gordo lo tienes en los acentos. De todas formas, las comillas simples ' también podrían darte algún problema.

No me has respondido si con el XML que vienen el ejemplo original que dices que sí te funciona trae acentos.
__________________
BUSCO TELETRABAJO
Experiencia de mas de 4 años como desarrolladora web en PHP, ASP, XML, XSL, JavaScript, MySQL, PostGres, SQLServer, ...
Helbira está desconectado   Responder Citando
Antiguo 15-jun-2005, 11:44   #12 (permalink)
Colaborador
Bandit llegará a ser famoso muy prontoBandit llegará a ser famoso muy pronto
 
Avatar de Bandit
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 11.573
Sí, cuando pruebo el ejemplo si me muestra los acentos, el problema se suscita cuando pruebo el que hice yo, aun utilizando el mismo archivo.xml, al cual solamente le aumente 3 links a 3 noticias.

Gracias por responder.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
Bandit está desconectado   Responder Citando
Antiguo 16-jun-2005, 02:32   #13 (permalink)
Helbira está en el buen camino
 
Avatar de Helbira
 
Fecha de Ingreso: noviembre-2002
Ubicación: <?xml version="1.0"?><ubicacion>En todos los lugares y a la vez en ninguno</ubicacion>
Mensajes: 1.207
ofú... que lio!
por que no vas por partes? avanzando poco a poco?
te coges el ejmplo original y lo pruebas. Una vez que veas qeu funciona correctamente, metele un acento en alguna de las etiquetas y vuelves a probar. Si ves que sigue funcionando... entonces le añades un link nuevo y vuelves a probar.. asi sucesivamente y vas comentando lo que ocurre en cada modificación que hagas.

Es un poco por descartar

suerte
__________________
BUSCO TELETRABAJO
Experiencia de mas de 4 años como desarrolladora web en PHP, ASP, XML, XSL, JavaScript, MySQL, PostGres, SQLServer, ...
Helbira está desconectado   Responder Citando
Antiguo 16-jun-2005, 09:02   #14 (permalink)
Colaborador
Bandit llegará a ser famoso muy prontoBandit llegará a ser famoso muy pronto
 
Avatar de Bandit
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 11.573
Hola Helbira:
Disculpa por darte tanta lata.
Cuando solamente uso el archivo .xml del ejemplo que tiene 3 noticias, sin adicionar otras, no me muestra los acentos, las líneas se muestran así:
El 'Gordo', el 18795, se va a Murcia y a La Palma.
El presidente de Pakist�dice que Bin Laden posiblemente muri� Tora Bora durante los bombardeos.
La Polic�palestina detiene en Gaza al l�r de la Yihad isl�ca.

El problema no se suscita cuando aumento las noticias, pero si pruebo lanzando el .swf del ejemplo si me muestra los acentos.
Esto es lo incomprensible.

Gracias por responder.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
Bandit está desconectado   Responder Citando
Antiguo 16-jun-2005, 09:30   #15 (permalink)
Helbira está en el buen camino
 
Avatar de Helbira
 
Fecha de Ingreso: noviembre-2002
Ubicación: <?xml version="1.0"?><ubicacion>En todos los lugares y a la vez en ninguno</ubicacion>
Mensajes: 1.207
Entonces que problema tienes con los acentos si el resultado final que van a ver los usuarios es correcto?
__________________
BUSCO TELETRABAJO
Experiencia de mas de 4 años como desarrolladora web en PHP, ASP, XML, XSL, JavaScript, MySQL, PostGres, SQLServer, ...
Helbira está desconectado   Responder Citando
Antiguo 16-jun-2005, 10:17   #16 (permalink)
Helbira está en el buen camino
 
Avatar de Helbira
 
Fecha de Ingreso: noviembre-2002
Ubicación: <?xml version="1.0"?><ubicacion>En todos los lugares y a la vez en ninguno</ubicacion>
Mensajes: 1.207
Es curioso... he leido que el orden en como lee los nodos es inverso pero que colocando noticias.reverse(); que es lo que tú tienes se solucionaria.

Aun asi, el orden que tu me indicas que te imprime las noticias no sigue una lógica... nuse que puede ser. Lo siento.
__________________
BUSCO TELETRABAJO
Experiencia de mas de 4 años como desarrolladora web en PHP, ASP, XML, XSL, JavaScript, MySQL, PostGres, SQLServer, ...
Helbira está desconectado   Responder Citando
Antiguo 16-jun-2005, 10:37   #17 (permalink)
Helbira está en el buen camino
 
Avatar de Helbira
 
Fecha de Ingreso: noviembre-2002
Ubicación: <?xml version="1.0"?><ubicacion>En todos los lugares y a la vez en ninguno</ubicacion>
Mensajes: 1.207
Una cosa...
Por qué tienes en el frame1 y en el frame2 las funciones CargaXML y LimpiaXML con cuerpos distintos?

Por qué no les pones el mismo código?
__________________
BUSCO TELETRABAJO
Experiencia de mas de 4 años como desarrolladora web en PHP, ASP, XML, XSL, JavaScript, MySQL, PostGres, SQLServer, ...
Helbira está desconectado   Responder Citando
Antiguo 16-jun-2005, 11:02   #18 (permalink)
Colaborador
Bandit llegará a ser famoso muy prontoBandit llegará a ser famoso muy pronto
 
Avatar de Bandit
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 11.573
Lo que imprime al cargar el .xml me muestra así los textos sin acentos como se ve en la parte negrita:
El 'Gordo', el 18795, se va a Murcia y a La Palma.
La Polic�palestina detiene en Gaza al l�r de la Yihad isl�ca.
El presidente de Pakist�dice que Bin Laden posiblemente muri� Tora Bora durante los bombardeos.

En la primera línea no hay problemas porque no tiene acento.
La segunda línea está escrito así: La Policía palestina detiene en Gaza al líder de la Yihad islámica.
La tercera línea así:
El presidente de Pakistán dice que Bin Laden posiblemente murió en Tora Bora durante los bombardeos.
Supuestamente el código noticia.reverse() es para que lea en orden el .xml pero no lo hace.

El código en el primer frame es para cargar los links a las noticias, en la cual al clicar en los links va al frame 2 donde muestra las noticias.

Gracias nuevamente por tu tiempo.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/

Última edición por Bandit; 16-jun-2005 a las 11:15.
Bandit está desconectado   Responder Citando
Antiguo 17-jun-2005, 01:43   #19 (permalink)
Helbira está en el buen camino
 
Avatar de Helbira
 
Fecha de Ingreso: noviembre-2002
Ubicación: <?xml version="1.0"?><ubicacion>En todos los lugares y a la vez en ninguno</ubicacion>
Mensajes: 1.207
Respecto a los acentos, lo único que se me ocurre es que en vez de poner acentos pongas el equivalente carácter en HTML, es decir, para á tienes que poner & aacute ; (sin espacios), para la ñ tienes que poner & ntilde ; (sin espacios) , etc
__________________
BUSCO TELETRABAJO
Experiencia de mas de 4 años como desarrolladora web en PHP, ASP, XML, XSL, JavaScript, MySQL, PostGres, SQLServer, ...
Helbira está desconectado   Responder Citando
Antiguo 17-jun-2005, 02:29   #20 (permalink)
ate3000 ha deshabilitado el karma
 
Fecha de Ingreso: agosto-2004
Mensajes: 34
Prueba a poner <?xml version="1.0" encoding="utf-8" ?> en vez del ISO
__________________
:'(
ate3000 está desconectado   Responder Citando
Antiguo 17-jun-2005, 09:52   #21 (permalink)
Colaborador
Bandit llegará a ser famoso muy prontoBandit llegará a ser famoso muy pronto
 
Avatar de Bandit
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 11.573
Ni modo, aun poniendo <?xml version="1.0" encoding="utf-8" ?> no acepta los acentos.

Muchas gracias por su tiempo.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
Bandit está desconectado   Responder Citando
Antiguo 17-jun-2005, 18:19   #22 (permalink)
Colaborador
Bandit llegará a ser famoso muy prontoBandit llegará a ser famoso muy pronto
 
Avatar de Bandit
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 11.573
Hola Helbira:
La única forma que pude resolver el problema del acento es adicionando éste código en el Flash: System.useCodePage=true; pero tengo entendido que éste código solamente funciona en Windows.

Gracias por todo.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
Bandit está desconectado   Responder Citando
Antiguo 22-jun-2005, 20:10   #23 (permalink)
Number Seven está en el buen camino
 
Fecha de Ingreso: diciembre-2003
Mensajes: 41
Cómo lo resolviste Bandit?

Tengo exactamente el mismo problema, y no sé con que codificación guardarla. Ya puse en el primer frame donde cargo el XML el system.use... en true, pero continúo viendo esos cuadraditos.

Probé también con UTF-8, UTF-16, el ISO... pero nada, vos cómo hiciste???
Number Seven está desconectado   Responder Citando
Antiguo 23-jun-2005, 08:51   #24 (permalink)
Colaborador
Bandit llegará a ser famoso muy prontoBandit llegará a ser famoso muy pronto
 
Avatar de Bandit
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 11.573
Hola Number_Seven:
Simplemente le puse antes de los códigos de la función de carga del XML, el: System.useCodePage=true;

Pero tengo entendido que ese código solamente funciona con el Windows, de allí mi duda de como se mostrará en otros sistemas operativos, lo raro es que no funciona con el ISO ni el UTF-8.

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
Bandit está desconectado   Responder Citando
Antiguo 01-jul-2005, 16:11   #25 (permalink)
culantrax está en el buen camino
 
Fecha de Ingreso: julio-2005
Mensajes: 54
Acentos

Este sería un ejemplo de un XML que desplegaría sin problemas acentos, siempre y cuando se visualize en un browser (en un momento veremos qué pasa con Flash). Hay que notar, en efecto, que en el encabezado inicial se define el tipo de codificación para símbolos latinos:
Código:
<?xml version="1.0" encoding="iso-8859-1"?>
<ejemplo>Canción mágica</ejemplo>
Aunque este XML se vería bien en un browser, Flash tiene un comportamiento extraño a la hora de leer los valores y colocarlos -por ejemplo- en una variable o en cajas de texto dinámico. Aparentemente la única solución es crear el XML con codificación Unicode y poner todos y cada uno de los caracteres acentuados, eñes y similares en su respectivo código UTF-8, esto es:
Código:
<?xml version="1.0" encoding="UTF-8"?>
<ejemplo>Canci&#243n m&#225gica</ejemplo>
(Hay que agregar al final de cada código numérico un punto y coma (";"), no lo puse porque el foro transforma todo en un caracter acentuado).

He probado cargar el XML dentro de un SWF y ha funcionado, despliega correctamente todos los caracteres. El problema evidente sería transformar todos y cada uno de estos a su respectivo formato UTF-8, aunque supongo que habrá programas que lo hagan de manera automática.

Para una referencia de los códigos UTF-8, la Wikipedia.org al rescate:
http://en.wikipedia.org/wiki/Table_o...%2C_128_to_999

Espero que les sea útil la información, saludos!
culantrax está desconectado   Responder Citando
Antiguo 01-jul-2005, 16:33   #26 (permalink)
culantrax está en el buen camino
 
Fecha de Ingreso: julio-2005
Mensajes: 54
Por cierto, respecto a la instrucción System.useCodePage=true: esta trabaja independientemente de la plataforma (al menos en la Mac hace lo que debe hacer). Su función es utilizar la página de códigos del sistema operativo donde el Flash player está corriendo. De esta manera, si mi computadora tiene dentro de su configuración caracteres acentuados, podría cargar variables con tales letras. El problema es que en otro lugar tales caracteres pueden no existir (quizá nosotros tendríamos problemas al cargar variables en chino, mientras que el desarrollador, confiado por utilizar la instrucción System.useCodePage=true, pudo verlo sin problemas pues su sistema tiene pleno soporte).

La documentación de Flash recomienda guardar archivos externos siempre en Unicode para as