c# 创建的html中中文乱码

3_0 2009-01-30 08:42:11
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();
}
...全文
523 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
HFtime 2011-09-01
  • 打赏
  • 举报
回复
mark~
a13969726756 2010-08-20
  • 打赏
  • 举报
回复
学习了,不错
随风而逝 2009-09-11
  • 打赏
  • 举报
回复
学习,感谢
eaglegrace 2009-09-09
  • 打赏
  • 举报
回复
此贴需要收藏
Alexwang198201 2009-09-06
  • 打赏
  • 举报
回复
都是高手
guohouchang 2009-08-22
  • 打赏
  • 举报
回复

Encoding.Default


即可解决
zhoujianzhou 2009-08-21
  • 打赏
  • 举报
回复
编码问题!
kingmax54212008 2009-07-13
  • 打赏
  • 举报
回复
encodeing = GB2312 or UTF-8
wsmyaoquhuawei 2009-06-30
  • 打赏
  • 举报
回复
ding
Apolo_hit 2009-06-29
  • 打赏
  • 举报
回复
GB2312
Apolo_hit 2009-06-29
  • 打赏
  • 举报
回复
db2312
  • 打赏
  • 举报
回复
utf-8
zyhappy1688 2009-03-17
  • 打赏
  • 举报
回复
原来这样
zhangbowakey 2009-02-18
  • 打赏
  • 举报
回复
应该用UTF-8格式就好了吧
hzl091 2009-02-06
  • 打赏
  • 举报
回复
可能是编码问题,你试试像这样写
StreamWriter sw = new StreamWriter(fs, Encoding.Default);
使用默认编码方式
3_0 2009-02-05
  • 打赏
  • 举报
回复
谢谢,
我的方式是在执行那段代码前就创建一个正确html文件。
代码如下:
static void PageCopy() //复制文件以防生成的html文件发生中文乱码。
{
FileInfo f = new FileInfo(filename);
string OrignFile, NewFile;
OrignFile = f.DirectoryName + "\\ddddd.html"; //一个正确html文件
NewFile = f.DirectoryName + "\\emal.html;
File.Copy(OrignFile, NewFile, true);
}
然后执行:
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();
}
hb_bigsea 2009-01-31
  • 打赏
  • 举报
回复
如下经过改造的代码经测试正确
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);


}
hb_bigsea 2009-01-31
  • 打赏
  • 举报
回复
试了下代码,的确如此.



我的思路,问题出在保存形式上面,

重新对你生成的文件做任何修改后,再次打开就正常.

1,978

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 其他语言讨论
社区管理员
  • 其他语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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