streamreader 中文乱码

来源:百度知道 编辑:UC知道 时间:2024/09/24 06:29:34
string s = "";
FileStream fs = new FileStream("f:\\aaa.txt", FileMode.Open, FileAccess.Read, FileShare.Read);
StreamReader sr = new StreamReader(fs,System.Text.Encoding.Default );
while (sr.Peek ()!= -1)
{
s += sr.ReadLine();
}
textBox1.Text = s;
sr.Close();
fs.Close();
无法解决...
ok了...原来是txt 保存时的字体的问题...改回正常就好了...选了粗体..|||Orz...

编码有问题,这个是StreamReader常出现的问题~

StreamReader sr = new StreamReader(fs,Encoding.GetEncoding("utf-8"));
试试这个~

---------------------------------------------
这一句不用,FileStream fs = new FileStream("f:\\aaa.txt", FileMode.Open, FileAccess.Read, FileShare.Read);

直接使用
StreamReader sr = new StreamReader("f:\\aaa.txt",Encoding.GetEncoding("utf-8"));
或者
StreamReader sr = new StreamReader("f:\\aaa.txt",Encoding.GetEncoding("GBK"));

一般来说System.Text.Encoding.Default 不会中文乱码的.
你改成System.Text.Encoding.UTF-8;或者System.Text.Encoding.GBK看看

while (sr.Peek ()!= -1)
{
s += sr.ReadLine();
}

不成一个死循环了?