Настройка кодировки в CSVHelper - PullRequest
0 голосов
/ 27 июня 2019

Я пытаюсь установить кодировку на shift_jis.Я использовал Encoding.GetEncoding(932), но он не использует кодировку при записи файла.

Я устанавливаю значение кодировки, используя идентификатор Windows 932 для экземпляра StreamWriter TextWriter.Я вижу, что значение кодировки установлено на 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

}

Когда я раскрываю свойства Encoding для textWriter, он устанавливается на shift_jis:

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

Когда я раскрываю свойства Configuration / Encoding на устройстве записи, оно устанавливаетсяна UTF8:

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

Не могли бы вы указать, что я делаю неправильно, чтобы я мог написать файл в shift_jis.

...