Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何对csv导出进行HTML编码_C#_Html_Asp.net_Csv - Fatal编程技术网

C# 如何对csv导出进行HTML编码

C# 如何对csv导出进行HTML编码,c#,html,asp.net,csv,C#,Html,Asp.net,Csv,我明白了 来自HTML编码为的字符串 Quattrode® 在Excel 2007内部查看时 例行程序 Quattrode® 基本上DataGridToCSV()使用HttpUtility.HtmlDecode(stringBuilder.ToString())

我明白了

来自HTML编码为的字符串

 Quattrode® 
在Excel 2007内部查看时

例行程序

Quattrode® 
基本上
DataGridToCSV()
使用
HttpUtility.HtmlDecode(stringBuilder.ToString())
因此,
响应
过程或Excel对文件的解释中的某些内容是不正确的。知道怎么修理吗


更新
结果表明,Excel或写字板中没有正确解释这一点。我在记事本中打开它,符号正确显示。

Response.Charset=“”

尝试使用UTF-8之类的工具也可以尝试

        Response.Clear();
        Response.Buffer = true;

        Response.ContentType = "text/comma-separated-values";
        Response.AddHeader("Content-Disposition", "attachment;filename=\"Expired.csv\"");

        Response.RedirectLocation = "export.csv";

        Response.Charset = "";
        //Response.Charset = "UTF-8";//this does not work either.
        EnableViewState = false;

        ExportUtility util = new ExportUtility();

        Response.Write(util.DataGridToCSV(gridViewExport, ","));
我在这里找到了答案 这里呢 然后把这些代码放在一起:

Response.ContentEncoding = Encoding.UTF32;

这个建议不错,但不管用。我把
Response.Charset=“UTF-8”和问题是一样的。按照建议添加
Response.Charset=“ISO-8859-13”,尝试ISO-8859-13
生成相同的结果。Try`Response.ContentEncoding=Encoding.Default;我敢肯定,在将CSV导入Excel时,您必须选择正确的文本编码,不是吗?确保你达到了UTF-8字符集。+1管理层刚刚改变了方向。稍后我将不得不尝试这些,因为我已退出到较旧版本的程序。已编辑的答案将使用Encoding.UTF32而不是UTF8。这确实解决了问题。
    public static void WriteCSVToResponse(string csv, string filename)
    {
        HttpResponse response = HttpContext.Current.Response;
        response.Clear();
        response.ClearHeaders();
        response.ClearContent();
        response.ContentType = "text/csv";
        response.AddHeader("content-disposition", "attachment; filename=" + filename);
        response.ContentEncoding = Encoding.UTF8;

        byte[] BOM = new byte[] { 0xef, 0xbb, 0xbf };
        response.BinaryWrite(BOM);//write the BOM first
        response.BinaryWrite(Encoding.UTF8.GetBytes(csv));
        response.Flush();
        response.End();
    }