簡體   English   中英

導出CSV文件的編碼問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM