首页 > 解决方案 > 在 CSVHelper 中设置编码

问题描述

我正在尝试将编码设置为shift_jis. 我使用了,Encoding.GetEncoding(932)但在写入文件时它没有使用编码。

StreamWriterTextWriter. 我看到编码值设置为shift_jis. 当CsvWriter使用TextWriter对象实例化时,编码会丢失。上的编码CsvWriter值为UTF8. 请参阅下面我如何设置值的代码。

using (TextWriter textWriter = new StreamWriter(fileString, false, 
                                              Encoding.GetEncoding(932)))
{ 
   var writer = new CsvWriter(textWriter, false);
   writer.Configuration.ShouldQuote = (field, context) => false;
   writer.Configuration.Delimiter = ",";

   .. write the columns 
   .. write the rows in a foreach loop

}

当我在 textWriter 上展开 Encoding 属性时,它设置为shift_jis

CodePage = 932
EncodingName = "Japanese (Shift-JIS)"

当我在编写器上展开配置/编码属性时,您将其设置为UTF8

CodePage = 65001
EncodingName = "Unicode (UTF-8)"

您能否指出我做错了什么,以便我可以在shift_jis.

标签: csvhelper

解决方案


推荐阅读