2012-04-11 23 views
0

我的網站具有導出csv功能,可以導出csv格式的網站詳細信息。我的代碼處理像Å,ĉ這樣的特殊字符,但不處理希臘字符。我正在使用下面的代碼來生成csv。導出CSV不顯示α,β等特殊字符

Response.ContentEncoding = System.Text.Encoding.Default; 
Response.Charset = "iso-8859-1"; 

我已經嘗試了charset的所有選項以及contentEncoding但無濟於事。

回答

1

您需要使用一種編碼方式來編碼您需要的所有字符,並且可以通過無論哪個程序加載您的文件來識別該編碼。

您目前正在使用固定長度的8位編碼,並且沒有固定長度的8位編碼,可以編碼您需要的所有字符。所以你需要使用類似UTF-8或UTF-16的內容來編碼你的內容。

另一方面,許多常見的.csv文件讀取器不支持固定長度8位編碼以外的其他任何內容。

我認爲您的下一步是找到足夠的.csv文件讀取器可以理解的Unicode編碼以滿足您的需求。如果你能找到合適的編碼,那麼你就完成了。如果沒有編碼符合您的需求,那麼我懷疑您需要使用除.csv之外的其他內容。

0

艾米特,如果你的問題涉及Microsoft Excel中,然後看這個問題:

Microsoft Excel mangles Diacritics in .csv files?

這是一個已知的bug,其中Excel中,在通過 文件關聯打開UTF8的csv文件,假設它們是ASCII,不考慮UTF8 BOM中的 。

似乎還有一個修復舊版Excel使用UTF-16的錯誤,但這意味着包括CSV和Excel的下載鏈接。

另一種方法是指示用戶保存並導入文件爲UTF-8,這似乎強制Excel正確處理文本。

我不認爲這是一個銀彈。