您的位置:首页 > 其它

遇到问题-用StreamReader读取数据时出现乱码,streamwriter写入中文时出现乱码

2013-04-10 16:55 621 查看
用StreamReader读取数据时 出现乱码,检查下是否添加了转码

FileStream fs = new FileStream(url, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);

 StreamReader reader = new StreamReader(fs, System.Text.Encoding.UTF8);

如果有中文的话,注意要用gb2312

 StreamReader sr = new StreamReader(fs,Encoding.GetEncoding("gb2312"));//以gb2312编码读取文本文件中的汉字,要不然,读取的内容中如果有汉字,则显示为乱码。

这样加上编码打开才是正确的

如果这样打开还是乱码,可以在外部更改文件的编码,一般utf-8的StreamReader都能读取

比如txt的

1.可以用记事本打开,另存为时选择你要的编码



2.用Notepad++打开,直接修改





streamwriter写入中文也要选编码编码

string demo="写入txt中";  

   StreamWriter demo_log = null;  

            demo_log = File.CreateText("demo_log.txt");  

   demo_log.WriteLine(demo,System.Text.Encoding.UTF8));  

如果已经使用了选了编码,打开后仍是乱码.则把生成的demo_log.txt按照上面的上面提到的把文件编码修改成UTF-8就可以正确显示了. excel同样适用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: