[英]Problem with encoding exporting a CSV file
我正在使用Asp.net mvc生成CSV文件,但是在葡萄牙语中使用特殊字符时遇到了问题。 我正在使用以下代码返回文件:
public FileContentResult RelMatriculas(RelRematriculaVM model)
{
string fileContent = GenerateTheFile();
Response.Charset = "utf-8";
Response.ContentEncoding = Encoding.UTF8;
return File(new UTF8Encoding().GetBytes(fileContent), "text/csv", "RelMatriculas.csv");
}
我将utf8设置为编码,但是当保存文件并尝试在Excel中打开文件时,我看到的是垃圾字符,而不是特殊字符。
如果我只是在记事本中打开文件并保存,然后在excel上再次将其打开,则可以正确显示字符。 我是否缺少将文件输出为UTF8的内容?
问题是Excel需要BOM。 从这个SO答案 :
var data = Encoding.UTF8.GetBytes(fileContent);
var result = Encoding.UTF8.GetPreamble().Concat(data).ToArray();
return File(result, "text/csv", "RelMatriculas.csv");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.