RichTextBox读法文TXT出来乱码

Dickson 2010-03-19 03:36:05
1.txt里的文本是如下内容,法文字符:

K È Assemblee generale Diéé. ééééééié

我用以下代码读入RICH TEXT BOX:

1. RichTxt.LoadFile "c:\1.txt"

复制代码
读进来后竟然成:

K 脠 Assemblee generale Di茅茅. 茅茅茅茅茅茅i茅

为什么呢?如何解决?
...全文
282 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
bcrun 2010-03-20
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 dingyanwei 的回复:]
为什么我的richtextbox支持这些字符呢?

我的就是vb6+xpsp3
[/Quote]

你们说的能支持,大概只是说能在浏览器中这个帖子里,把楼主发的那串字符复制粘贴到你VB6程序中的richtextbox控件里吧:) 那和楼主要解决的问题还是有区别的
linc_M 2010-03-20
  • 打赏
  • 举报
回复
他们都说了,,,我来帮UP
SYSSZ 2010-03-19
  • 打赏
  • 举报
回复
我的richtextbox也支持这些字符
dingyanwei 2010-03-19
  • 打赏
  • 举报
回复
为什么我的richtextbox支持这些字符呢?

我的就是vb6+xpsp3
bcrun 2010-03-19
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 6742 的回复:]
引用 1 楼 bcrun 的回复:
最好使用unicode版的.VB自带的那个RICH TEXT BOX只是ANSI版的


最好使用unicode版的RICHTEXTBOX,这个有下载么?我想要一个:hahjs6742@yahoo.com.cn

谢谢
[/Quote]

不是很清楚哦,我正打算做,你预订吧.目前的想法是在vbaccelerator.com上那个的基础上改改快些,大家有啥更好的建议吗?
贝隆 2010-03-19
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 king06 的回复:]
VB code
Dim buff() As Byte
ReDim buff(FileLen("C:\新建 文本文档.txt") - 1)
Open "C:\新建 文本文档.txt" For Binary As #1
Get #1, , buff
RichTextBox1.Text = buff()
Close #1

前面多了个?号
[/Quote]

学习
用户 昵称 2010-03-19
  • 打赏
  • 举报
回复
È,这个字符俺前几天接触过。
东方之珠 2010-03-19
  • 打赏
  • 举报
回复
È,这个是顶贴的意思!
chinaboyzyq 2010-03-19
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 king06 的回复:]
前面多了个?号
[/Quote]
vb6的RichTextBox1根本不认È,复制粘贴(c+c、c+v)一下就知道了。
king06 2010-03-19
  • 打赏
  • 举报
回复
    Dim buff() As Byte
ReDim buff(FileLen("C:\新建 文本文档.txt") - 1)
Open "C:\新建 文本文档.txt" For Binary As #1
Get #1, , buff
RichTextBox1.Text = buff()
Close #1

前面多了个?号
chinaboyzyq 2010-03-19
  • 打赏
  • 举报
回复
用VB.net写吧它的RichTextBox可以很好的支持Unicode


Imports System.IO
Public Class Form1
Public srd As StreamReader
Public istr As String
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
srd = My.Computer.FileSystem.OpenTextFileReader("c:\1.txt", System.Text.Encoding.Default)
RichTextBox1.Text = srd.ReadToEnd.ToString

End Sub
End Class
6742 2010-03-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 bcrun 的回复:]
最好使用unicode版的.VB自带的那个RICH TEXT BOX只是ANSI版的
[/Quote]

最好使用unicode版的RICHTEXTBOX,这个有下载么?我想要一个:hahjs6742@yahoo.com.cn

谢谢
6742 2010-03-19
  • 打赏
  • 举报
回复
VB自己带的那个RICHTEXTBOX,在VISTA下边,除了中文、英文可以之外,其他的都会出错。就是读汉语拼音也会出错。
白云飘飘飘 2010-03-19
  • 打赏
  • 举报
回复
像一楼说的,VB自带的控件都是ANSI的,在什么系统下就只能显示什么字符。可以用随word安装的form 2.0控件库里面的textbox控件。先把文件内容读到一个字节数组里面,然后用multibytetowidechar API函数指带法文的代码页转换成Unicode字符,就可以用text属性让文本框显示了
Dickson 2010-03-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lhcwjy 的回复:]

txt里的文件编码是法文的编码,在中文系统下用loadfile时会把它当做中文编码来对待,所以就成乱码了。
[/Quote]

如果在法文系统下就是正常的,是吗
白云飘飘飘 2010-03-19
  • 打赏
  • 举报
回复
txt里的文件编码是法文的编码,在中文系统下用loadfile时会把它当做中文编码来对待,所以就成乱码了。
bcrun 2010-03-19
  • 打赏
  • 举报
回复
最好使用unicode版的.VB自带的那个RICH TEXT BOX只是ANSI版的

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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