Encoding utf8 = new UTF8Encoding(true);
        Byte[] bom = utf8.GetPreamble();
        //var fs = new FileStream(@".\UTF8Encoding.csv", FileMode.Create);
        var result = bom.Concat(report.Body).ToArray();
        //Stream stream = new MemoryStream(result);
        //fs.Write(result, 0, result.Length);
        //fs.Close();
        var fcr = new FileContentResult(result, "application/csv");
        fcr.FileDownloadName = "rep.csv";
        return fcr;ode here
when I use FileStream it goes well and I got the file with the encoding required (UTF8-BOM), but in my case, i need to use FileResult or FileContentResult, the issue is when I use one of them the file is encoded UTF8 without BOM
 
     
    