各位友人,写了一个程序,但是当读取文件的时候出现了乱码:    步骤如下:
    1.现在将form1中内容写到了文本文件中:
    public void illersave(string path)
        {
            StreamWriter fm = new StreamWriter(path);
            fm.Write("姓名:" + textBox1.Text + "   ");
            if (radioButton1.Checked == true)
                label5.Text = "男";
            else
                label5.Text = "女";
            fm.Write("性别:   " + label5.Text + "   ");
            fm.Write("年龄:   " + textBox2.Text + "   ");
            fm.Write("诊断:   " + textBox3.Text + "   ");
            fm.Write("诊断日期;  "+dateTimePicker1.Value.ToString()+"   ");
            fm.Write("第  "+textBox4.Text+"   次诊断");
            fm.Write("评定时间  " + dateTimePicker2.Value.ToString() + "   ");
            fm.Write("住院号   " + textBox5.Text + "   ");
            fm.Close();
        }
        private void surebtn_Click(object sender, EventArgs e)
        {
            SaveFileDialog dlg = new SaveFileDialog();
            dlg.InitialDirectory = Application.StartupPath;
            dlg.Filter="文本文件|*.txt";
            if (dlg.ShowDialog() == DialogResult.OK)
            {
               illersave(dlg.FileName);
            }然后再form2中读取文件:
           public void loadInfo(string path)
        {            StreamReader fm = new StreamReader(path,System.Text.Encoding.Default);
            textBox1.Text = fm.ReadLine();
            fm.Close();
        }但是form2中的text.Box1不能正确的显示文本文件。
如果将form1中保存的文本文件复制粘贴到其他地方就可以正确的读取,请问这样的问题怎么解决。    

解决方案 »

  1.   

    StreamReader fm = new StreamReader(path,System.Text.Encoding.Default);

    StreamReader fm = new StreamReader(path);
      

  2.   

    嗯同意,,是编码的问题,,你写的时候设置一个编码 比如是 UTF-8  那你读的时候也用 UTF-8
    如果不指定 乱码几率很大,,
      

  3.   

     
    eqmaster先生的方法正确,不过说要是设置uit-8去读写文件的话,怎么去实现,能帮忙改下吗,谢谢,我是初学者,呵呵,不说大家也能看出来,哈哈谢谢了
      

  4.   

    1楼
    加System.Text.Encoding.Default 。就是设置编码uft-8 默认的