html5中文学习网

您的位置: 首页 > 网络编程 > ASP.NET » 正文

读取文件时出现中文乱码问题的解决_.NET教程_编程技术

[ ] 已经帮助:人解决问题
解决|问题|中文|中文乱码
  最近有些朋友总是发现读取文件的时候发现乱码,不过用工具打开一看却是好的。
其实这个问题的罪魁祸首是VS.net的编辑器,在MS下一般文件编辑器(Notepad,ultraedit)都是使用操作系统缺省编码(不同的系统会不同),如在我的英文xp是ANSI,vs.net新建文件的保存以后使用的编码却是UTF8,大概是为了和StreamReader和StreamWriter打开文件缺省得encoding为UTF8保证一致的缘故吧。
  为什么我们用工具打开却是好的,那是因为MS的所有编辑器都会根据文件中使用的编码自动使用对应的编码打开文件。
  所以总结出来解决问题,首先要看得是这个文件的创建工具(注意是创建程序,而不是文件的缺省打开工具)是哪个在决定使用对应的Encoding打开文件,而不是盲目的尝试各种编码

针对一些windows工具创建的文件可以使用
StreamReader read = new StreamReader(filename, System.Text.Encoding.Default);

vs.net创建的文件可以使用
StreamReader read = new StreamReader(filename);

对于一些网络流如httpresponse的字节流,可以使用其他GB2312
ks8HTML5中文学习网 - HTML5先行者学习网
ks8HTML5中文学习网 - HTML5先行者学习网
(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助