2012-04-11 99 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正确处理文本。

我不认为这是一个银弹。