2012-03-14 57 views
0

我在寫入一些中文字符到http響應時遇到問題。我將application/vnd.ms-excel設置爲ContentType。如何將非英文字符寫入HttpResponse

當我查看excel文件時,看不到我寫的字符。我試過使用不同的編碼,但它不起作用。我錯過了什麼嗎?

protected void Button1_Click(object sender, EventArgs e) 
    { 
     HttpResponse response = Page.Response; 
     response.Clear(); 
     response.ClearHeaders(); 
     response.ContentEncoding = System.Text.UnicodeEncoding.GetEncoding("GB2312"); 
     response.Charset = "GB2312"; 
     response.AddHeader("Content-Disposition", "attachment;filename=myfile.xls"); 
     response.ContentType = "application/vnd.ms-excel;charset=GB2312"; 
     response.Write("盈虧 你好你好你怎麼樣"); 
     response.Flush(); 
     response.End(); 
    } 
+1

什麼是您的編輯器的字符集,如果它不是gb2312,您必須將其轉換。 – PasteBT 2012-03-14 03:21:03

+1

「盈虧你好你好你怎麼樣」一個有效的Excel格式? – 2012-03-14 03:21:25

+1

您準確地在哪裏查看「Excel」文件?因爲,我敢打賭,這些字符不構成有效的'xls'電子表格。 – 2012-03-14 03:30:54

回答

1

我們設法用替代的Response.Write Response.BinaryWrite來解決它。多謝你們!

1

你嘗試把這個web.config

<globalization fileEncoding="utf-8" requestEncoding="utf-8" responseEncoding="utf-8" responseHeaderEncoding="utf-8" />

然後輸出爲UTF8

+0

將嘗試..但我們設法通過使用BinaryWrite來解決它。 – 2012-03-14 03:36:17