2009-05-06 3 views
0

Ich versuche, eine HTML-Anlage zu erstellen, indem einige meiner XML durch eine XSL-Transformation verarbeitet und an den Client senden. Wenn ich auf "Öffnen" klicke, zeigt IE den HTML-Code richtig an, aber wenn ich den Anhang speichere und ihn dann in Firefox öffne, bekomme ich an jedem Ort einen   Ich bekomme ein "A" -Zeichen. Ich habe das Gefühl, dass dies mit unserer Codierung zu tun hat. Hier ist der relevante Code:Erstellen von HTML-Anhang von Xslt, Codierung von Problemen, 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 ist eine Zeichenfolge, die aus einer stringwriter.tostring kommt(), die das transformierte HTML enthält.

Es scheint, dass die xslt immer die Codierung bei UTF-16 setzt, aber ich habe den Code oben auf utf-16 geändert und es funktioniert auch nicht. Irgendwelche Ideen was ist los?

Danke.

+0

Dies hat nichts mit XSLT zu tun. Es sieht aus wie Zeichenfolgen in .NET sind in UTF-16 [überprüfen] (http://weblogs.asp.net/rcmclaws/archive/2003/07/31/22080.aspx) –

Antwort

0

Wie sieht Ihre XSL-Dokumentausgabe aus? Welche Kodierung stellst du dort ein?

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