我正在使用C#动态创建CSV文件,并且遇到一些奇怪的编码问题。我目前使用的是ASCII编码,该编码在Excel 2010(在家庭和工作机上使用)中都可以正常工作。但是,客户使用Excel 2007,并且对于他们来说,存在一些奇怪的格式设置问题,即,在'£'符号(英国英镑符号)之前加了带重音符号'A'的字符。

我应该使用哪种编码?令人烦恼的是,由于我无法访问Excel 2007,因此我几乎无法测试这些修复程序!

最佳答案

我使用的是Windows ANSI代码页1252,在Excel 2003上没有任何问题。由于您遇到的是相同的问题,因此我明确更改为此代码。

private const int WIN_1252_CP = 1252; // Windows ANSI codepage 1252

this._writer = new StreamWriter(fileName, false, Encoding.GetEncoding(WIN_1252_CP));

09-30 23:36