c# 创建的html中中文乱码
c# 创建的html用记事本打开正常,但是在ie中打开发现中文乱码。可是用记事本打开把前面加上<><>或是把空格随便删几个后用ie打开又没乱码了。
谁能给一个无中文乱码的html创建程序。
我的代码如下:
static void a()
{
string filename = "emal.html";
StreamWriter writer = null;
FileInfo f = new FileInfo(filename);
FileStream outputfile = null;
outputfile = new FileStream(filename, FileMode.OpenOrCreate, FileAccess.Write);
writer = new StreamWriter(outputfile);
writer.BaseStream.Seek(0, SeekOrigin.End);
writer.WriteLine(getpage("http://www.sohu.com") ); //getpage("http://www.sohu.com") 是提取网页源代码的
writer.Flush();
writer.Close();
}
[解决办法]
如下经过改造的代码经测试正确
static void a()
{
string filename = "test.html";
FileInfo f = new FileInfo(filename);
FileStream outputfile = null;
outputfile = new FileStream(filename, FileMode.Create, FileAccess.Write);
BinaryWriter writer = new BinaryWriter(outputfile);
byte[] RecvBuffer = new byte[10240];
RecvBuffer = System.Text.Encoding.Default.GetBytes(tbox.text);//tbox.text换成你获取网页代码的方法
writer.Write(RecvBuffer);
}
[解决办法]
可能是编码问题,你试试像这样写
StreamWriter sw = new StreamWriter(fs, Encoding.Default);
使用默认编码方式
[解决办法]
encodeing = GB2312 or UTF-8