导出Word文件时,中文乱码!

wanliang2001 2011-03-04 06:16:39
我是英文的操作系统,将页面用Word导出,页面html放在sHtml中,导出没有问题,但是页面里的中文成了乱码,用System.Text.Encoding.UTF8或者System.Text.Encoding.GetEncoding("GBK")或者System.Text.Encoding.GetEncoding("GB2312")都没有效果,比较郁闷:

sHtml="我的页面(里面有中文)";
DivMain.InnerHtml = sHtml;

System.IO.StringWriter SW = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter HTW = new System.Web.UI.HtmlTextWriter(SW);

this.DivMain.RenderControl(HTW);

Response.Buffer = true;
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.ContentType = "Application/octet-stream";
//Response.ContentEncoding = System.Text.Encoding.UTF8;
//Response.ContentEncoding = System.Text.Encoding.GetEncoding("GBK");
Response.AddHeader("Content-Disposition", "attachment;filename=ECO.doc");

Response.Write(SW.ToString());
Response.Flush();
Response.Close();
...全文
588 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
暖枫无敌 2011-03-06
  • 打赏
  • 举报
回复
跟操作系统用户设置有关,通常中文版系统就是如上面红色部分设置一下就可以了。
暖枫无敌 2011-03-06
  • 打赏
  • 举报
回复
Response.ContentEncoding = System.Text.Encoding.Default;
Response.AppendHeader( "Content-Disposition ", "attachment;filename= " +HttpUtility.UrlEncode(FileName,Encoding.UTF8).ToString());
wanliang2001 2011-03-06
  • 打赏
  • 举报
回复
还是不行。。。。
java_ArrayList 2011-03-06
  • 打赏
  • 举报
回复
应该就是编码设置的问题
你到个中文版系统上试试
或者把本机设置改下

脾气不坏 2011-03-06
  • 打赏
  • 举报
回复
应该就是编码设置的问题
你到个中文版系统上试试
或者把本机设置改下
wuyq11 2011-03-04
  • 打赏
  • 举报
回复

Response.ContentEncoding = System.Text.Encoding.GetEncoding( "GB2312 ");
Response.AppendHeader( "Content-Disposition ", "attachment;filename= " +HttpUtility.UrlEncode(FileName,Encoding.UTF8).ToString());

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧