zoukankan      html  css  js  c++  java
  • Asp.Net导出文件名中文乱码

    Asp.Net导出word为例,Excel等其他文件也一样

    protected void Page_Load(object sender, EventArgs e)
        {string html = “网页html代码”;
            string fileName = "故事.doc";
            DownloadDoc(fileName,html);
        }
        public void DownloadDoc(string fileName, string pageHtml)
        {
            //设置Http的头信息,编码格式  
            HttpContext.Current.Response.Buffer = true;
            HttpContext.Current.Response.Clear();
            HttpContext.Current.Response.Charset = "gb2312";
            HttpContext.Current.Response.ClearContent();
            HttpContext.Current.Response.ClearHeaders();
            Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
            HttpContext.Current.Response.ContentType = "application/ms-word";
            HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + clFielName(fileName));
            //关闭控件的视图状态  ,如果仍然为true,RenderControl将启用页的跟踪功能,存储与控件有关的跟踪信息
            this.EnableViewState = false;
    
            HttpContext.Current.Response.Write(pageHtml);
            HttpContext.Current.Response.End();
        }
        public string clFielName(string fileName)
        {
            System.Web.HttpContext curContext = System.Web.HttpContext.Current;
            string outputFileName = null;
            string browser = curContext.Request.UserAgent.ToUpper();
            if (browser.Contains("MS") == true && browser.Contains("IE") == true)
            {
                outputFileName = System.Web.HttpUtility.UrlEncode(fileName);
            }
            else if (browser.Contains("FIREFOX") == true)
            {
                outputFileName = """ + fileName + """;
            }
            else
            {
                outputFileName = System.Web.HttpUtility.UrlEncode(fileName);
            }
            return outputFileName;
        }

    判断不同的浏览器,然后编码

  • 相关阅读:
    codeforces570D Tree Requests
    codeforces600E Lomsat gelral
    BZOJ2001 [Hnoi2010]City 城市建设
    BZOJ2565 最长双回文串
    BZOJ4031 [HEOI2015]小Z的房间
    BZOJ2467 [中山市选2010]生成树
    SPOJ104 HIGH
    爆零系列—补题A
    DP一直是自己的弱势 开始练滚动数组——HDOJ4502
    HDOJ4550 卡片游戏 随便销毁内存的代价就是wa//string类的一些用法
  • 原文地址:https://www.cnblogs.com/webapi/p/10148555.html
Copyright © 2011-2022 走看看