什么是正确的CSV编码的C#打开Excel?

我使用基于StreamWriter的C#CSVWriter编写了一个CSV文件。 在我的资料中,我有很多像“Bávaro”这样的特殊字符。

所以,当我使用UTF-8或ASCII来编码我的CSV时,我无法得到“á”,但是我可以在Excel中完美地打开它。 当我使用Unicode我的CSV有正确的字符,但事实上,当我在Excel中打开此CSV它不会自动sorting像我的其他CSV,所有的值都在第一列作为string….

什么是正确的编码在这里?

我build议使用Windows ANSI代码页1252 ,您可以通过:

Encoding.GetEncoding(1252) 

它支持“á”这样的字符,从Excel 2003到Excel 2013都能很好地工作。

使用此编码导出您的CSV Encoding.GetEncoding("Windows-1252")