4

我在我的 VB 6.0 应用程序中遇到了 Unicode 字符不支持的问题。我需要在我的应用程序中的记录集字段中设置汉字-(每个字段的大小由程序本身设置)。如果我们将中文字符设置到记录集的字段中,则会出现多步操作错误(因为保持字段大小不够)。如果我们从服务器控制面板的区域设置中将语言设置为中文(控制面板> 区域和语言设置> 管理选项卡> 更改系统区域设置.. > 到中文),则不会触发此错误

如果我们设置这个,那么我们的应用程序的时间设置将会改变。我需要一些帮助才能从控制面板更改我们如何解决这个问题。

请帮忙。

提前致谢。

4

2 回答 2

3

在 Windows 中,您可以将区域设置设置为中文,同时保持时间和日期格式。http://www.techpavan.com/2009/04/07/change-time-format-windows/


对于在 Visual Basic 6 应用程序中使用 Unicode,这里有一篇包含详尽解释和示例的文章:http ://www.example-code.com/vb/vbUnicode1.asp

引用此链接:

在内部,VB6 将字符串存储为 Unicode。您的 VB6 程序能够处理包含任何字符的任何语言的字符串——无论是中文、日语、冰岛语、阿拉伯语等。它完全支持 Unicode。单个字符串可能包含多种语言的字符。您可以将这些字符串保存到数据库、文件等中,应该没有问题。只有在标准 VB6 控件中尝试显示(即渲染字形)外来字符时才会出现问题。

显示字符串时,标准的 VB6 文本框和标签控件执行从 Unicode 到 ANSI 的隐式(和内部)转换。这是导致所有麻烦的令人困惑的行为。在 VB6 内部,运行时将 Unicode 转换为操作系统的当前 Windows ANSI 代码页标识符。除了更改系统的 ANSI 代码页外,无法更改此转换。

标准 VB6 文本框和标签控件根据您可以指定的字符编码显示 ANSI 字节。在 Unicode 到 ANSI 的转换之后,VB6 会尝试根据控件的 Font.Charset 属性来显示字符数据,如果保持不变则等于 ANSI 字符集。更改控件的 Font.Charset 会更改 VB6 解释“ANSI”字节的方式。换句话说,您告诉 VB6 将字节视为其他字符编码而不是“ANSI”。注意:VB6 能够显示所有主要语言的字符。它只需要被告知这样做,并且正确的字节需要在内部到位才能发生。

于 2013-08-21T16:23:14.213 回答
-2

尝试将这些控件上的字体设置为 Lucida Sans Unicode 以添加 Unicode 支持。

于 2015-01-02T01:36:13.297 回答