我在Excel文件中写了一些字符串。有时打电话给
StreamWriter.WriteLine()
函数意外地创建了一个“”字符。
知道为什么吗?
更新
代码:
StreamWriter writer = new StreamWriter(File.Create(outFile));
string headerline = "";
foreach (DataColumn colum in reportContents.Columns)
{
headerline = headerline + '"' + row[colum].ToString() + '"' + ',';
}
writer.WriteLine(headerline);
输出: 个人保护|退休后储蓄|退休前养老金|税收&遗产规划
预期产出:个人保护|退休后储蓄|退休前退休金|税收&遗产规划
我得到了解决方案: 我需要在StreamWriter中指定默认编码,如下所示,它可以工作。
StreamWriter writer = new StreamWriter(File.Create(outFile),Encoding.Default);
shuvra
答案 0 :(得分:3)
实际上并没有创建Â
字符 - 它只是用不同的编码来编写数据。如果查看StreamWriter
构造函数重载(http://msdn.microsoft.com/en-us/library/system.io.streamwriter.aspx),您可以指出希望StreamWriter
将数据写入的编码。
如果您之前没有处理过编码:Joel在http://www.joelonsoftware.com/articles/Unicode.html写了一篇关于它的好文章
答案 1 :(得分:1)
代码的字符集应为“utf-8”。