2012-02-08 18 views
2

私は種類をシリアル化することができますカスタムXMLシリアライザとメソッドシグネチャを持っているのです。文字列のエンコーディング関連の問題

string result = CustomXmlSerializer.Serialize(someObject); 

私のようなWebページの何かにそれを利用できるようにしたいのシリアライゼーションの結果:

生成されたXMLは依然としてストリングにおけるメモリエンコーディング(UTF-16)を有し、ただし
Response.ClearContent(); 
Response.AddHeader("content-disposition", "attachment; filename=\"somefilename.xml\""); 
Response.BufferOutput = true; 
Response.ContentEncoding = Encoding.UTF8; 
Response.ContentType = "text/xml; encoding=utf-8"; 
string content= CustomXmlSerialize.Serialize(someObject); 
byte[] utf8Bytes = Encoding.UTF8.GetBytes(content); 
Response.OutputStream.Write(utf8Bytes, 0, utf8Bytes.Length);       
Response.End(); 

?そんなことがあるものか?私はHttpResponseにutf-8をエンコードしたバイト配列を書いていますか?

+1

おそらくあなたはあなたのタグにxmlを追加するべきです –

+0

生成されたファイルは正しいですが、<?xml version = "1.0" encoding = "utf-16"?>、 Elena

答えて

0

ヘッダー内の正しいエンコーディング属性を発するようにあなたのCustomXmlSerializerを確認して下さい。結果をバイトに変換するときに使用するエンコーディングはわかりません。

関連する問題