导出CSV不显示α,β等特殊字符

时间:2012-04-11 05:57:01

标签: c# csv

我的网站具有导出csv功能,该功能以csv格式导出网站的详细信息。我的代码处理特殊字符,如Å,ĉ,但不处理希腊字符。我使用以下代码生成csv。

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

我已尝试过charset的所有选项以及contentEncoding,但无济于事。

2 个答案:

答案 0 :(得分:1)

您需要使用可以编码所需字符的编码,以及任何加载文件的程序都能识别的编码。

您目前使用固定长度的8位编码,并且没有固定长度的8位编码可以编码您需要的所有字符。因此,您需要使用UTF-8或UTF-16等内容对内容进行编码。

另一方面,许多常见的.csv文件读取器不支持除固定长度8位编码之外的任何其他内容。

我认为您的下一步是找到足够的.csv文件读取器可以理解的Unicode编码,以满足您的需求。如果您能找到合适的编码,那么您就完成了。如果没有符合您需求的编码,那么我怀疑您需要使用.csv以外的其他内容。

答案 1 :(得分:0)

Amit,如果您的问题与Microsoft Excel有关,请参阅此问题:

Microsoft Excel mangles Diacritics in .csv files?

  

在打开UTF8 csv文件时,Excel存在一个已知错误   文件关联,假设它们是ASCII,无视   存在UTF8 BOM。

对于使用UTF-16的旧版Excel,似乎也有一个修复程序,但这意味着包含CSV和Excel的下载链接。

另一种方法是指示用户将文件保存并导入为UTF-8,这似乎迫使Excel正确处理文本。

我认为这个没有灵丹妙药。