问题的根源其实跟VB6内部使用Unicode编码有关。
VB6.0可声明一个Object 数据类型,使用它的Charset属性为"UTF8",可解决TextBox控件中UTF8文本显示乱码问题。
Object 数据类型,Object 变量存储为 32 位(4
个字节)的地址形式,其为对象的引用。利用 Set 语句,声明为 Object
的变量可以赋值为任何对象的引用。
Charset 属性,设置或者返回字体中所用字符集。
实现代码:
Private Sub Command1_Click() '打开UTF-8文本
Dim Ados As Object
CommonDialog1.FileName = ""
CommonDialog1.Filter = "文本文件(*.txt)|*.txt|"
CommonDialog1.Action = 1
str = CommonDialog1.FileName
Set Ados = CreateObject("adodb.stream")
With Ados
.Charset = "utf-8"
.Type = 2
.Open
.LoadFromFile str
Text1.Text = .ReadText
.Close
End With
Set Ados = Nothing
End Sub
首先,不清楚你是用什么方式读文件的,二进制?还是字符串?还是???!给个提示你吧!
A 用 StrConv 函数转换编码
B 用 Forms 2.0 控件集中的 Label 或 TextBox 控件显示读取的数据
这是小儿科,自已动手丰衣足食!试试吧!
--------------------------------------------------
你的 *** 作系统是日文版的XP,应该不会出乱码啊,你的VB是英文版么?
其实VB系统内部是使用 Unicode 会自动转换编码的,详细请参考MSDN介绍相关的用DBCS编码转换的程序例子吧!!!
现在先用简单的方法试试吧!
先引用 Microsoft Forms 2.0 Object library
Dim strLabel As MSForms.Label
Line Input #OLD_FILE_NUM, strLabel.Caption
.......
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)