2009-09-28 19 views
5

IE no le gusta el carácter å en un archivo XML para mostrar. ¿Es ése un problema de IE o son å y caracteres iguales de hecho inválidos XML y tengo que crear el & #xxx; valores para todas estas letras?å en el archivo xml es válido o no?

Michel

por cierto: los caracteres son dentro de una etiqueta CDATA

La declaración es la siguiente: hmm, parece que no puede obtener la declaración XML pegado en mi post, que se elimina o escondido en el html de mi publicación, creo, probé el backtick, 4 espacios, etc. para marcarlo como código. Sin embargo, es la misma que las EFS en las respuestas

La declaración es la siguiente:

<?xml version="1.0" encoding="utf-8"?> 

El fragmento es

<resource key="erroraspx-errorDescription" value="cdata"> 
<![CDATA[Något gick fel. Klicka <a href=".">här</a> för att gå till webbsidan ]]> 
</resource> 
+1

Yo diría que depende de la codificación de caracteres que haya declarado y esté usando –

+1

¿Cuál es la codificación del archivo XML? ¿Encaja con la declaración de codificación en la parte superior del archivo (si corresponde)? – Mac

Respuesta

3

Estoy bastante seguro de que esto es un problema de codificación. Debe verificar que la codificación de su archivo sea algo internacionalizado, como UTF-8, y que el encabezado xml lo indique.

El archivo XML debe comenzar con <?xml version="1.0" encoding="UTF-8"?>

+0

se inicia de esa manera – Michel

+4

UTF-8 es la codificación predeterminada para XML y por lo tanto no necesita ser especificada. – Joey

+2

Michel: Luego verifique con su editor de texto favorito si la codificación real del archivo coincide con eso. – Joey

2

Me gustaría pensar que dependería del conjunto de caracteres/codificación que tenía definido para el archivo XML.

+0

he usado utf-8, pero eso es más que un habito y luego pienso qué usar ... es un archivo de recursos para asp.net – Michel

+1

y el archivo está realmente codificado como utf-8 o simplemente le diste ese bit al ? etiqueta xml al inicio? Verifique en Visual Studio con el cuadro de diálogo Archivo-> Opciones de guardado avanzadas. –

+0

Gracias Lasse, usted ha ayudado – Michel

1

Este es un problema de codificación. Si la codificación del archivo se proporciona en el xml, se debe reconocer correctamente. Si el archivo es latin1, por ejemplo, el XML debe comenzar con esta línea:

<?xml version="1.0" encoding="ISO-8859-1"?> 

Usted puede omitir el atributo encoding, determining the default encoding of the xml puede ser un poco complicado, sin embargo.

+0

Parece que en realidad no tiene que declarar UTF-8. "las entidades analizadas que están almacenadas en una codificación que no sea UTF-8 o UTF-16 DEBEN comenzar con una declaración de texto" - http://www.w3.org/TR/xml/#charencoding –

+0

@Jonas: Gracias, cambió el ejemplo para latin1. – soulmerge

+0

"Puede omitir esta línea": Tenga en cuenta que a partir de XML 1.1 la declaración XML debe estar presente. –

2

Supongo que su texto está codificado en ISO-8859-1 ya que se usa comúnmente en Suecia.

Trate de añadir:

<?xml version='1.0' encoding='ISO-8859-1'?> 

yo consideraría convertir el texto a UTF-8.

2

Usted puede utilizar Allways entidades como esta:

<test> 
&#228; 
&#252; 
&#229; 
</test> 

Para obtener:

<test> 
ä 
ü 
å 
</test> 

Quizás no sea exactamente lo que quiere, pero una buena solución. Puede usar sitios como utf8-chartable.de para buscar el valor necesario.

+0

Sí, esto se encargará de cualquier problema de codificación. – carillonator

0

Asegúrese de que realmente guarda el archivo utilizando la codificación que se especifica en el XML.

El Bloc de notas, por ejemplo, de forma predeterminada guarda los archivos como ANSI en lugar de UTF-8. Use la opción "Guardar como ..." para que pueda especificar la codificación.

Guardé su XML como un archivo UTF-8, y eso se muestra muy bien en IE.

Cuestiones relacionadas