2 pièce(s) jointe(s)
caractères spéciaux perdus dans un xml
Bonjour,
Voilà plusieurs heures que je me heurte à un problème.
En résumé, j'ai 2 manières d'afficher un xml avec un caractère spécial dedans (une puce de liste copiée depuis word) :
- envoi direct au navigateur, pas de problème, la puce est affichée
- chargement du xml dans un vbscript, puis inclusion dans la page. Dans ce cas la puce ne s'affiche pas, mais j'ai un carré hideux à la place.
J'ai essayé de simplifier le problème au maximum pour parvenir à ces 3 fichiers :
monxml.xml :
Code:
1 2 3
| <?xml version="1.0" encoding="ISO-8859-1" ?>
<?xml:stylesheet type="text/xsl" href="test.xsl"?>
<bordel></bordel> |
test.xsl :
Code:
1 2 3 4 5 6 7
| <?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output doctype-public="-//W3C//DTD HTML 4.01//EN" doctype-system="http://www.w3.org/TR/html4/strict.dtd" method="html" encoding="iso-8859-1"/>
<xsl:template match="/">
<xsl:value-of select="bordel" />
</xsl:template>
</xsl:stylesheet> |
monasp.asp
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" >
</head>
<script language="vbscript" type="text/vbscript">
function foo()
set xmlDoc = createObject("MSXML2.DOMDocument.3.0")
xmlDoc.async = False
xmlDoc.load "monxml.xml"
set xslFormulaire = createObject("MSXML2.DOMDocument.3.0")
xslFormulaire.async = False
xslFormulaire.load "test.xsl"
contenu.innerHtml = xmlDoc.xml
end function
</script>
<body onLoad="foo">
<div id="contenu">
</div>
</body>
</html> |
Quand je vais avec IE sur le xml, c'est ok.
Quand je vais sur l'asp, le caractère n'est pas le bon.
Je joint des captures d'écran :
Y a-t-il un moyen de résoudre ça sans changer le fichier xml (il est généré automatiquement et je ne peux pas le modifier).