C#文件保存读取怎么出现乱码

X_L_stay 2009-10-30 09:00:17
小弟才开始学C# 有些问题麻烦各位大师帮忙
我的代码是
using System;
using System.IO;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace text
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void CheckSave()
{
if (richTextBox1.Text != "")
{
if (MessageBox.Show("是否保存当前文件?", "确认", MessageBoxButtons.OKCancel) == DialogResult.OK)
{
MySaveFile();
}
}
}
private void MyNewFile()
{
CheckSave();
richTextBox1.Clear();
statusStrip1.Text = "新建文件";
}
private void MySaveFile()
{
statusStrip1.Text = "保存文件";
saveFileDialog1.Filter = "文本文件(*.txt)|*.txt";
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
richTextBox1.SaveFile(saveFileDialog1.FileName);
}
}
private void MyOpenFile()
{
CheckSave();
openFileDialog1.Filter ="文本文件(*.txt)|*.txt";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
using (StreamReader read = new StreamReader(openFileDialog1.FileName, Encoding.Default))
{
richTextBox1.Text = read.ReadToEnd();
}

}
}

private void 打开ToolStripMenuItem_Click(object sender, EventArgs e)
{
MyOpenFile();
}

private void 新建ToolStripMenuItem_Click(object sender, EventArgs e)
{
MyNewFile();
}

private void 保存ToolStripMenuItem_Click(object sender, EventArgs e)
{
MySaveFile();
}
}
}
我先写一个文件 但是保存后再打开就出现很多乱码 这是什么原因
谢谢!!!!!
...全文
386 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
rizher 2009-10-31
  • 打赏
  • 举报
回复
编码问题 我也刚遇到过
chengzq 2009-10-31
  • 打赏
  • 举报
回复
一般出现乱码,都是编码的问题,对于中文有时候读写操作时,还是要指定一下编码方式。
caixian 2009-10-31
  • 打赏
  • 举报
回复
学习了,厉害的高手
oneatree 2009-10-31
  • 打赏
  • 举报
回复
private void MyOpenFile()
{
CheckSave();
openFileDialog1.Filter = "文本文件(*.txt)|*.txt";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
using (StreamReader read = new StreamReader(openFileDialog1.FileName, Encoding.Unicode))
{
richTextBox1.Text = read.ReadToEnd();
}

}
}
PandaIT 2009-10-30
  • 打赏
  • 举报
回复
不用系统的默认的

StreamReader ...(xxx,System.Text.Encoding.GetEncoding("gb2312"));//那里更改为gb2312
lerit 2009-10-30
  • 打赏
  • 举报
回复
另外:
private void MyOpenFile()
{
CheckSave();
openFileDialog1.Filter = "文本文件(*.txt)|*.txt";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
using (StreamReader read = new StreamReader(openFileDialog1.FileName, Encoding.Unicode))
{
richTextBox1.Text = read.ReadToEnd();
}

}
}
lerit 2009-10-30
  • 打赏
  • 举报
回复
保存格式不对:
private void MySaveFile()
{

saveFileDialog1.Filter = "文本文件(*.txt)|*.txt";
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
richTextBox1.SaveFile(saveFileDialog1.FileName,RichTextBoxStreamType.UnicodePlainText);
}
}
MoFzAgel 2009-10-30
  • 打赏
  • 举报
回复
没明白什么意思
xujun5031 2009-10-30
  • 打赏
  • 举报
回复
路过

110,538

社区成员

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

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

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