aspx________<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="WebApplication3.WebForm1" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>WebForm1</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<FONT face="宋体">
<asp:Label id="Label1" style="Z-INDEX: 101; LEFT: 208px; POSITION: absolute; TOP: 136px" runat="server"
Width="176px">Label</asp:Label>
</FONT>
</form>
</body>
</HTML>.cs___________protected System.Web.UI.WebControls.Label Label1;private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
string Path = Server.MapPath("test.html"); if(File.Exists(Path))
{
File.Delete(Path);
} this.Label1.Text = "啊啊啊";
}protected override void Render(HtmlTextWriter output) 
{
StringBuilder html = new StringBuilder();
StringWriter stringWriter = new StringWriter(html);
HtmlTextWriter tempWriter = new HtmlTextWriter(stringWriter);
base.Render(tempWriter);
string yourHtml = html.ToString();
StreamWriter yourFile=File.AppendText( Server.MapPath("test.html") );
yourFile.Write(yourHtml);
yourFile.Close();
output.Write(yourHtml);
}
为什么出来的test.html是乱码啊

解决方案 »

  1.   

    你的WEB.CONFIG里面定义的语言是UTF-8,把它们全部改成gb2312
      

  2.   

    requestEncoding="gb2312" 
    responseEncoding="gb2312"这两个改过了。 用记事本打开生成的html文件看到里面的中文不是乱码。
    用IE打开就是乱码了。把IE的编码改成UTF-8就显示正常
      

  3.   

    给你的html文件加上如下的meta标签试试:<meta http-equiv="Content-Language" content="zh-cn"><meta http-equiv="Content-Type" content="text/html; charset=gb2312">
      

  4.   

    还是一样,如果把IE的编码改成UTF-8就可以正常显示gb2312就不行
      

  5.   

    string dt =DateTime.Now.ToString().Replace(" ","").Replace("-","").Replace(":","");
    StreamWriter WriteFile = new StreamWriter(Server.MapPath(dt+".htm"),false,Encoding.GetEncoding("GB2312"));
      

  6.   

    File.AppendText是以UIF-8编码的格式追加文本到文件中..记事本就是UIF-8格式的文本.所以你打开就没事..网页你设置为GB2312.就会是乱码//解决办法..用FileStream创建文件,然后用StreamWrite写入内容..=======================================================FileStream sf = new FileStream("test.html",FileMode.Create,FileAccess.Write);
    StreamWrite sw = new StreamWrite(sf,Encoding.Default);
    sw.WriteLine("写入的内容");
    sw.Flush;
    sw.Close();
    sf.Close();