黑马程序员技术交流社区

标题: 乱码问题 [打印本页]

作者: 李贤贤    时间: 2013-3-9 23:40
标题: 乱码问题
本帖最后由 李贤贤 于 2013-3-10 10:45 编辑

用StreamReader读取文件中的中文文本,有时会产生乱码问题。这是怎么回事?是C#语言有问题吗??
作者: 许庭洲    时间: 2013-3-10 07:37
创建一个Windows控制台程序StreamReaderDemo。其中主函数代码如下。注意添加System.IO引用。
static void Main(string[] args)
{
       try
       {
             StreamReader m_sr = new StreamReader(@"c:\file.txt");
             string m_data = m_sr.ReadToEnd();
             Console.WriteLine(m_data);
             m_sr.Close();
       }
       catch (IOException ex)
       {
             Console.WriteLine(ex);
             return;
       }

       Console.WriteLine("Write to File Succeed!");
}


作者: 黑马-杨鹏立    时间: 2013-3-10 09:27
用StreamReader读取文件中的中文文本时,你要指定文件编码,好像他默认为utf-8,因为操作系统默认编码为ANSI,所以导致你编码不同读出乱码。。。
要知道自己的文本是什么编码点击该文本另存为下面有编码可以看到。。。。
作者: 杞文明    时间: 2013-3-10 09:39
黑马-杨鹏立 发表于 2013-3-10 09:27
用StreamReader读取文件中的中文文本时,你要指定文件编码,好像他默认为utf-8,因为操作系统默认编码为ANSI ...

支持你的说法
作者: 李贤贤    时间: 2013-3-10 10:43
谢谢了!问题解决了。我是通过Encoding类的静态成员指定编码格式的。Encoding.UTF8,获取格式的编码;




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2