2009-05-06 9 views
0

J'essaie de créer une pièce jointe html en traitant une partie de mon xml via une transformation xsl et en l'envoyant au client. Si je clique sur "ouvrir", IE montre le html correctement, mais si je sauvegarde la pièce jointe, puis l'ouvre dans Firefox, chaque endroit il y avait un   Je reçois un caractère "Â". J'ai le sentiment que cela a à voir avec notre encodage. Voici le code correspondant:Création d'une pièce jointe html à partir de xslt, problèmes d'encodage, asp.net

Response.Clear(); 
    Response.ContentEncoding = Encoding.UTF8; 
    Response.ContentType = "text/html"; 
    Response.Charset = "utf-8"; 
    Response.AddHeader("Content-Disposition", 
     String.Format("attachment; filename={0}; size={1}", filename, rgen.Output.Length)); 
    //Response.Flush(); 
    Response.Write(rgen.Output); 
    Response.Flush(); 
    Response.End(); 

rgen.Output est une chaîne qui vient d'un stringwriter.tostring() qui contient le code html transformé.

Il semble que le xslt définit toujours le codage en UTF-16, mais j'ai changé le code ci-dessus en utf-16 et cela ne fonctionne pas non plus. Avez-vous une idée de ce qui passe?

Merci.

+0

Ceci n'a rien à voir avec XSLT. On dirait que les chaînes en .NET sont en UTF-16 [vérifier] (http://weblogs.asp.net/rmclaws/archive/2003/07/31/22080.aspx) –

Répondre

0

À quoi ressemble votre sortie de document XSL? Quel codage définissez-vous là?

<xsl:output encoding="utf-8" omit-xml-declaration="yes" method="html" indent="no" ></xsl:output> 
Questions connexes