新手学。NET。。读取文本文件时为什么不能读取中文

laznhr 2006-06-18 12:46:37
Dim stmReader As IO.StreamReader
If dlgOpenFile1.ShowDialog() = DialogResult.OK Then
Dim sFileName As String
sFileName = dlgOpenFile1.FileName
Try
stmReader = IO.File.OpenText(sFileName)
RichTextBox1.Text = stmReader.ReadToEnd
Catch ex As Exception
MessageBox.Show("文件无法打开")
Finally
If Not stmReader Is Nothing Then
stmReader.Close()

End If
End Try
End If


能读出文本文件的英文。。但中文的时候会出现乱码。。这是为什么。。。新手学。NET本人QQ13745325有兴趣加我,就当交个朋友。
...全文
304 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
laznhr 2006-06-20
  • 打赏
  • 举报
回复
如果我的Richtextbox1.text=richtextbox1.text.replace(chr(10),chr(13) &chr(10))的话保存还是不行。
但如果我stmWrite.Write(richtextbox1.text.replace(chr(10),chr(13) &chr(10)))这样就成功
是不是RichTextBox控件会自动过滤了chr(13)的?还是其他的一些原因。
hhjjhjhj 2006-06-19
  • 打赏
  • 举报
回复
记事本只认为 chr(13)+chr(10) 为换行符,如只有一个chr(10)就显示一个黑色的四方小框框代表非打印字符。
用“写字板”打开就可以识别。
chinawn 2006-06-18
  • 打赏
  • 举报
回复
web.config中
<!-- 全球化
此节设置应用程序的全球化设置。
-->
<globalization
requestEncoding="GB2312"
responseEncoding="GB2312"
/>
laznhr 2006-06-18
  • 打赏
  • 举报
回复
很怪。我打开文本文件可以正常浏览保存也可以保存中文。
但当我用WIN的记事本打开那个保存后的文件看到的内容没有排板的。那个本来应该换行的地方变一个黑色的四方小框框。
hhjjhjhj 2006-06-18
  • 打赏
  • 举报
回复
.net中对于文本文件已引入了编码功能(如在“记事本”另存文本文件时可以选编码ANSI,unicode等一样).
OpenText的说明是:“打开现有 UTF-8 编码文本文件以进行读取。”所以读取不是UTF-8编码的文件时会乱码。

.net中做同样事可能有多种方法,如一个很明显的例子是:很多类有多个new方法。对于条件或情况很明确的可以采用简化的方法。否则就得考虑用比较复杂的方法了。
laznhr 2006-06-18
  • 打赏
  • 举报
回复
难道 你们平常 打开文件都是使用 new io.streamreader这种方法的吗?
sx_lxh 2006-06-18
  • 打赏
  • 举报
回复
stmReader = New IO.StreamReader(dlgOpenFile1.FileName, System.Text.Encoding.default)
laznhr 2006-06-18
  • 打赏
  • 举报
回复
stmReader = New IO.StreamReader(dlgOpenFile1.FileName, System.Text.Encoding.GetEncoding("gb2312"))


'stmReader = IO.File.OpenText(sFileName)

能解释一下吗?我不明为什么。难道 不能用IO.File.OpenText(sFileName)
来打开文件读取中文吗?
我用IO.File.OpenText(sFileName)
这个方法打开的文件在TEXT窗口中输入中文再保存另一个文件再打开是可以读到中文的,
shalen520 2006-06-18
  • 打赏
  • 举报
回复
Dim sr As StreamReader = New StreamReader(dlgOpenFile1.FileName,System.Text.Encoding.GetEncoding("gb2312"));

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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