VB 出现乱码的问题

VB 出现乱码的问题,第1张

这是VB6的一个Bug,当电脑上同时装了VB6和OFFICE时就会出现这种情况(但又不是绝对,有些电脑就不会,估计和两者的安装顺序和版本有关系)。由于不影响使用,我没有管它。如果你觉得不爽,网上有解决办法,自己耐心找下。

问题的根源其实跟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

.......


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8630932.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-19
下一篇 2023-04-19

发表评论

登录后才能评论

评论列表(0条)

保存