您的位置:首页 > 其它

读XML文件乱码的原因以及解决方案

2008-09-04 16:13 274 查看
今天发现读取文档的时候发现乱码,但是用工具打开一看却是好的。google了一下,发现果然是编码问题,记录一下:

其实这个问题的罪魁祸首是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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐