str = "公司月度生产计划表.XLS";
string strFileName = System.Web.HttpUtility.UrlEncode( System.Text.Encoding.UTF8.GetBytes(str));
string strFileName = System.Web.HttpUtility.UrlEncode( System.Text.Encoding.UTF8.GetBytes(str));
{
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";关键!!
首先要说明的是
<globalization requestEncoding="GB2312" responseEncoding="GB2312" uiCulture="zh-CN" 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" ?>
我是一个附件,不是一个HTML所以不能按照2和3那样设置,第4步设置了也没有用,第1步我已经设置了
StreamReader reader = new StreamReader(strm,System.Text.Encoding.Default);
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312")