Я пытаюсь установить кодировку на 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
.