【发布时间】:2018-07-28 00:01:21
【问题描述】:
我正在尝试创建一个带有标题的 csv,该标题将用于多种语言。这是我正在使用的当前代码,适用于英语,但不适用于日语。
最好的方法是什么?我应该指定文化信息吗?我试过了,但效果不好。
谢谢。
private byte[] WriteCsvToMemory(IEnumerable records)
{
using (var memoryStream = new MemoryStream())
using (var streamWriter = new StreamWriter(memoryStream, Encoding.UTF8))
using (var csvWriter = new CsvWriter(streamWriter))
{
csvWriter.WriteField(GetResourceFileValue("ja-jp", "KEY"));
csvWriter.NextRecord();
csvWriter.Configuration.HasHeaderRecord = false;
csvWriter.WriteRecords(records);
streamWriter.Flush();
return memoryStream.ToArray();
}
}
【问题讨论】:
-
你能描述一下具体发生了什么吗? “不好的结果”并不具体。是否抛出异常?表头根本就没有写吗?
-
没有错误,只是不显示日文字符。适用于英语和西班牙语,没有任何问题。
-
什么不显示日文字符?这里没有显示任何内容的代码。
-
在标题部分使用此代码创建的 .csv 文件不添加 UNICODE 字符。我正在使用 API,因此下一段代码是返回 HttpResponseMessage 以及该函数中的内容。