读取文件时出现中文乱码问题的解决

<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
最近有些朋友总是发现读取文件的时候发现乱码,不过用工具打开一看却是好的。
其实这个问题的罪魁祸首是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的字节流,可以

seover="window.status='正文--读取文件时出现中文乱码问题的 解决';return true">
<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值