asp.net生成html文件乱码
...
FileInfo finfo = new FileInfo(fname);
//以打开或者写入的形式创建文件流
using (FileStream fs = finfo.OpenWrite())
{
//根据上面创建的文件流创建写数据流
StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.GetEncoding( "GB2312 "));
//把新的内容写到创建的HTML页面中
sw.WriteLine(strhtml);
sw.Flush();
sw.Close();
}
-------------------
原文件内容:
<script language= "JavaScript "> <!--
var dayNames = new Array( "星期日 ", "星期一 ", "星期二 ", "星期三 ", "星期四 ", "星期五 ", "星期六 ");
Stamp = new Date();
document.write( " " + Stamp.getYear() + "年 "+(Stamp.getMonth() + 1) + "月 "+Stamp.getDate()+ "日 "+ " " + dayNames[Stamp.getDay()] + " ");
//-->
</script>
生产的内容
<script language= "JavaScript "> <!-- var dayNames = new Array( "?????? ", "????? ", "????? ", "?????? ", "?????? ", "?????? ", "?????? ");Stamp = new Date();document.write( " " + Stamp.getYear() + "?? "+(Stamp.getMonth() + 1) + "?? "+Stamp.getDate()+ "?? "+ " " + dayNames[Stamp.getDay()] + " ");//--> </script>
原来的html很整齐,然而asp.net处理生成的html也不整齐,最好能在符号 "; "处换行
结果肯定出不来
thanks
[解决办法]
一行行读并且一行行写,而且写的时候用unicode试下
今天上午我在写自动生成一个js文件的时候也碰到了你说的两个问题,后来就是用我上面说的方法解决的
[解决办法]
我读的时候在每行后面加了个标记,做了些字符替换后再把一行行分隔开来重新按行写入新文件
[解决办法]
你读模板的时候也应该加上编码