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

来源:互联网 发布:windows repair 中文 编辑:程序博客网 时间:2024/04/18 21:31
用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写入中文也要选编码编码

  1. string demo="写入txt中";  
  2.    StreamWriter demo_log = null;  
  3.             demo_log = File.CreateText("demo_log.txt");  
  4.    demo_log.WriteLine(demo,System.Text.Encoding.UTF8));  

如果已经使用了选了编码,打开后仍是乱码.则把生成的demo_log.txt按照上面的上面提到的把文件编码修改成UTF-8就可以正确显示了. excel同样适用


原创粉丝点击