str = "公司月度生产计划表.XLS";
string strFileName = System.Web.HttpUtility.UrlEncode( System.Text.Encoding.UTF8.GetBytes(str));

解决方案 »

  1.   

    private void ToExcel(System.Web.UI.Control ctl)  
    {
    HttpContext.Current.Response.AppendHeader("Content-Disposition","attachment;filename=Excel.xls");
    HttpContext.Current.Response.Charset ="UTF-8";
    HttpContext.Current.Response.ContentEncoding =System.Text.Encoding.Default;
    HttpContext.Current.Response.ContentType ="application/ms-excel";//image/JPEG;text/HTML;image/GIF;vnd.ms-excel/msword
    ctl.Page.EnableViewState =false;
    System.IO.StringWriter  tw = new System.IO.StringWriter() ;
    System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter (tw);
    ctl.RenderControl(hw);
    HttpContext.Current.Response.Write(tw.ToString());
    HttpContext.Current.Response.End();
    }//你的编码有问题
    HttpContext.Current.Response.Charset ="UTF-8";关键!!
      

  2.   

    根本就不行,还是一堆乱码。
    首先要说明的是
    <globalization requestEncoding="GB2312" responseEncoding="GB2312" uiCulture="zh-CN"  culture="zh-CN" fileEncoding="GB2312" /> 
    这句话是必须的,因为我在不同窗口之间传递参数时需要支持中文。
      

  3.   

    webconfig中:<globalization requestEncoding="GB2312" responseEncoding="GB2312" />
      

  4.   

    <meta http-equiv="Content-Type" content="text/html; charset=Uincode(UTF-8)">
      

  5.   

    1、在web.config中加入:<globalization requestEncoding="GB2312" responseEncoding="GB2312" culture="zh-CN" fileEncoding="GB2312"/>
    2、在<%@ Page...>中加入:codepage=936
    3、<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    4、<?xml version="1.0" encoding="gb2312" ?>
      

  6.   

    还是没有用。
    我是一个附件,不是一个HTML所以不能按照2和3那样设置,第4步设置了也没有用,第1步我已经设置了
      

  7.   

    使用Encoding.Default;
    StreamReader reader = new StreamReader(strm,System.Text.Encoding.Default);
      

  8.   

    这样应该行了:
    Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312")