Foros del Web » Creando para Internet » HTML »

leer XML UTF-8

Estas en el tema de leer XML UTF-8 en el foro de HTML en Foros del Web. Hola, tengo una web que está en muchos idiomas, incluído cirílico y otros, por lo cual necesito UTF-8. El caso es el texto de cada ...
  #1 (permalink)  
Antiguo 17/10/2007, 20:48
 
Fecha de Ingreso: enero-2004
Mensajes: 207
Antigüedad: 13 años, 10 meses
Puntos: 1
leer XML UTF-8

Hola,

tengo una web que está en muchos idiomas, incluído cirílico y otros, por lo cual necesito UTF-8.

El caso es el texto de cada idioma pensaba meterlo en XML. El problema que tengo es el siguiente.

Supongamos que una de las palabras es esta: "العربيةية" (para quién no pueda mostrar los caracteres es una palabra en un idioma árabe, creo).

Si lo tengo en, por ejemplo, en el archivo "arabe.xml" pues al introducir ese texto tengo que hacerlo traducido a UTF-8 que sería "العربية". A este respecto decir que ya es un chow para mí poder conseguir esta correpondencia.

Vale, pues si hago link a "arabe.xml" se ve correctamente con sus caracteres árabes, es decir XML hace su trabajo y convierte "العربية" en "العربيةية".

Ahora bien, cuando programo el lector XML, evidentemente tengo que indicar al sistema que la página es UTF-8 mediante
Código PHP:
<meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
, esto es lógico. Pero el problema es que al recoger los datos de mi XML el sistema vuelve a pasar a UTF-8 los caracteres, en lugar de dejarlos tal cual.

Es un grave problema, puesto que ponga el "charset" que ponga siempre hace una nueva interpretación de mis ya válidos caracteres.

Mi pregunta es ¿cómo le digo al sistema que los caracteres UTF-8 de mi XML los deje tal cual? A propósito utizo el objeto "MSXML2.XMLHTTP" para recoger los datos del XML.

Por lógica sería factible que en el XML pusiera los caracteres UTF-8 que al convertirse luego de nuevo a UTF-8 correspondieran con los caracteres correctos, pero leñe, si ya es costoso para mi conseguir la correpondencia directa, pues la correspondencia de la correspondencia parace ya un juego de prestiligitadores.

En definitiva, el objetivo final es: copio y pego de una página web cualquiera unos caracteres de un lenguage "extraño (cirílicos por decir algo)" y quiero meterlos en un XML que luego mi página lea ese XML y lo muestre en pantalla presentando los caracteres iniciales que copié.

Si me he explicado mal por favor haced preguntas, pero echadme un capote que estoy muy confuso.

Gracias
  #2 (permalink)  
Antiguo 17/10/2007, 21:15
 
Fecha de Ingreso: diciembre-2003
Mensajes: 1.583
Antigüedad: 14 años
Puntos: 13
Re: leer XML UTF-8

Cita:
Si lo tengo en, por ejemplo, en el archivo "arabe.xml" pues al introducir ese texto tengo que hacerlo traducido a UTF-8 que sería "العربية". A este respecto decir que ya es un chow para mí poder conseguir esta correpondencia.
¿Y por qué esa conversión?. Si el XML lo has guardado como UTF-8 (no me refiero al encoding de la cabecera XML, sino a la codificación del fichero), pegas directo el texto que copiaste y listo (de hecho, eso hice con el primer texto de ejemplo que pusiste)
__________________
El conocimiento es libre: Movimiento por la Devolución
  #3 (permalink)  
Antiguo 17/10/2007, 23:54
 
Fecha de Ingreso: enero-2004
Mensajes: 207
Antigüedad: 13 años, 10 meses
Puntos: 1
Re: leer XML UTF-8

En efecto amigo frijolerou, me di cuenta luego casualmente al editar un pequeño cambio en un archivo con el Bloc de Notas de Windows, en lugar de utilizar mi editor habitual, y ver que tenía opción de guardar el fichero directamente en UTF-8.

Esto me pasa por utilizar un editor desfasado, hago servir el Homesite 5 y no soporta UTF-8, tendré que buscarme alguno más actual que sirva para un poco de todo, ya que igual toca ASP, PHP, .NET y lo que se tercie, ¿alguna recomendación?

En cualquier caso muchas gracias por tu rápida respuesta.

Saludos
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 16:39.