vb.net 用savefiledialog保存的文件是乱码

PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesBu... Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim tt As String

SaveFileDialog1.Filter = "text文件|*.txt|rtf文件|*.rtf"
SaveFileDialog1.FilterIndex = 1
SaveFileDialog1.ShowDialog()
tt = SaveFileDialog1.FileName
RichTextBox1.SaveFile(tt)
End Sub

代码如上,如:新年快乐会变成 {\rtf1\ansi\ansicpg936\deff0\deflang1033\deflangfe2052{\fonttbl{\f0\fnil\fcharset134 \'cb\'ce\'cc\'e5;}}
\viewkind4\uc1\pard\lang2052\f0\fs18\'d0\'c2\'c4\'ea\'bf\'ec\'c0\'d6\par
}
展开
 我来答
cipherf
2007-12-30 · TA获得超过4.5万个赞
知道大有可为答主
回答量:2.3万
采纳率:67%
帮助的人:1.5亿
展开全部
没错,RTB的savefile保存下来的是rtf格式文件,你用word或写字板打开就不是乱码了,记事本不行。
用savedfiledialog的filter控制的只是显示哪些类型的文件,而不能控制实际写入的是什么格式。你让他显示的是txt,但其实写入的还是rtf。

要写入纯文本,用savefile方法的另一个重载:
richTextBox1.SaveFile(tt, RichTextBoxStreamType.PlainText)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式