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

Problema con algunas letras acentuadas (pero no todas) en XML

Estas en el tema de Problema con algunas letras acentuadas (pero no todas) en XML en el foro de ASP Clásico en Foros del Web. Hola Tengo un problema al mostrar acentos de un XML. Lo curioso es que me muestra bien los acentos áéíóúÁÍ pero me muestra mal É, ...
  #1 (permalink)  
Antiguo 18/04/2013, 04:24
 
Fecha de Ingreso: abril-2013
Mensajes: 2
Antigüedad: 11 años
Puntos: 0
Problema con algunas letras acentuadas (pero no todas) en XML

Hola

Tengo un problema al mostrar acentos de un XML. Lo curioso es que me muestra bien los acentos áéíóúÁÍ pero me muestra mal É, Ó, Ú, mostrando un rombo negro y un interrogante en su lugar. El resultado es Á �? Í �? �? á é í ó ú

A lo largo de mi vida de programador me he encontrado muchos problemas con acentos, pero nunca que, en un mismo documento y leyendo de la misma fuente, unos caracteres se mostraran bien y otros no.

He rastreado internet pero no he conseguido encontrar algo parecido. He probado mil combinaciones de codificaciones tanto en el ASP como en el XML, pero no he conseguido que se vean todos bien:

Os paso el código del ASP clásico y del XML (éste último guardado como utf-8):

ASP:

Código:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>

<%Response.CharSet = "utf-8"%>

<!DOCTYPE html PUBLIC "http://www.w3.org/TR/html4/strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
 
<body> 
    <%dim xmlDoc
	Set xmlDoc = CreateObject("MSXML2.DOMDocument.4.0")
	xmlDoc.async = false
	xmlDoc.load(Server.MapPath("acentos.xml"))
	response.Write xmlDoc.documentElement.selectNodes("acentos")(0).text
	%>

</body>
</html>
XML:

Código:
<?xml version="1.0" encoding="iso-8859-1"?>
<dataroot>
	<acentos>ÁÉÍÓÚáéíóú</acentos>
</dataroot>
¿A qué puede ser debido? ¿Os había pasado algo parecido (unos caracteres bien y otros mal)?

Gracias y un saludo

Fran
  #2 (permalink)  
Antiguo 18/04/2013, 05:15
Avatar de AlejandroDiegoo  
Fecha de Ingreso: enero-2013
Ubicación: Madrid
Mensajes: 72
Antigüedad: 11 años, 3 meses
Puntos: 8
Respuesta: Problema con algunas letras acentuadas (pero no todas) en XML

Son 2 archivos con codificación diferente :/

¿Por qué no pasas el xml a utf-8?

Si por alguna razón no puedes poner ambos archivos en la misma codificación, busca en internet una función para ASP llamada en/decodeutf8.

saludos
__________________
Games Custom
CodeluxeStudio
Skype: AlejandroDiegoo
  #3 (permalink)  
Antiguo 18/04/2013, 08:29
 
Fecha de Ingreso: abril-2013
Mensajes: 2
Antigüedad: 11 años
Puntos: 0
Respuesta: Problema con algunas letras acentuadas (pero no todas) en XML

Hola AlejandroDiegoo

Gracias por responder.

Si encabezo el XML como utf-8, no se ve ninguna vocal acentuada (todo rombos)

Código:
<?xml version="1.0" encoding="utf-8"?>
Si además al ASP le añado la sentencia de abajo se ve el XML bien, pero entonces el resto de la página (leyendo de varias bases de datos mysql) muestra mal los acentos.

Código:
Response.CodePage = 65001
Insisto en que lo sorprendente del caso original es que algunas vocales acentuadas se veían bien, mientras que otras se veían mal solo en mayúsculas.

¿Alguna otra sugerencia?

Gracias
  #4 (permalink)  
Antiguo 18/04/2013, 10:05
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 3 meses
Puntos: 98
Respuesta: Problema con algunas letras acentuadas (pero no todas) en XML

Cita:
Iniciado por AlejandroDiegoo Ver Mensaje
Son 2 archivos con codificación diferente :/

¿Por qué no pasas el xml a utf-8?

Si por alguna razón no puedes poner ambos archivos en la misma codificación, busca en internet una función para ASP llamada en/decodeutf8.

saludos
Esta es la otra sugerencia, en efecto el problema se debe a lo que ya mencionó AlejandroDiegoo, para que el encoding funcione correctamente todas tus instancias donde aplicas encoding, idealmente tienen que ser las mismas, esto incluye:

1. Archivos físicos
2. Código
3. Base de datos

Dependiendo como estás guardando tus datos, tienes que cambiar el encoding de tus archivos, trata cambiando tu asp a iso-8859-1

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #5 (permalink)  
Antiguo 19/04/2013, 09:16
Avatar de AlejandroDiegoo  
Fecha de Ingreso: enero-2013
Ubicación: Madrid
Mensajes: 72
Antigüedad: 11 años, 3 meses
Puntos: 8
Respuesta: Problema con algunas letras acentuadas (pero no todas) en XML

Cierto! Revisa también la codificación en la que están guardados los archivos.

Una forma sencilla de hacer ésto es abrir el archivo con el bloc de notas, darle a guardar como... y en la parte inferior de la ventana tienes la codificación.
__________________
Games Custom
CodeluxeStudio
Skype: AlejandroDiegoo

Etiquetas: acentos, xml
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:31.