读取FTP的TXT文件内容,繁体变乱码

alan99 2011-12-15 03:44:33
FTP服务器中有一个TXT文件,里面有繁体中文。我直接用C#连FTP把它读到内存中,用console.writeline写出来,繁体全变成乱码。用 Encoding.Default 或UTF8,或GetEncoding("GB2312")都是乱码。

但我把该TXT先下载到我本机,再用C# with Encoding.UTF8 读取、再写出来却是正常的。

请教这是什么原因?
...全文
419 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
绿领巾童鞋 2011-12-16
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 alan99 的回复:]

可以了,是我漏了,虽然在读取TXT内容时指定了编码,但在从FTP GetResponseStream时没有指定编码。都指定UTF8就OK了。
[/Quote]
顶了
PaulyJiang 2011-12-16
  • 打赏
  • 举报
回复
有几个地方要读都要指定...我很少用多次读写的
快溜 2011-12-15
  • 打赏
  • 举报
回复
编码问题吧
alan99 2011-12-15
  • 打赏
  • 举报
回复
可以了,是我漏了,虽然在读取TXT内容时指定了编码,但在从FTP GetResponseStream时没有指定编码。都指定UTF8就OK了。
空心菜123 2011-12-15
  • 打赏
  • 举报
回复
FileStream fs = new FileStream(@"C:\Documents and Settings\Administrator\桌面\test.txt", FileMode.Open, FileAccess.Read);
StreamReader sr = new StreamReader(fs, System.Text.Encoding.Default);

while (!sr.EndOfStream)
{
string str = sr.ReadLine();
txt += str + "\n";
}

sr.Close();

Console.Write(txt);
Console.Read();
csdn_aspnet 2011-12-15
  • 打赏
  • 举报
回复
在你读到内存中的时候先输出编码格式

110,500

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧