如何在整个VB6.0应用程序中支持Unicode字符

如何在整个VB6.0应用程序中支持Unicode字符,unicode,vb6,Unicode,Vb6,我在VB6.0应用程序中遇到了一个Unicode字符不支持的问题。我需要在我的应用程序中的记录集字段中设置中文字符-(每个字段的大小由程序本身设置)。如果我们将中文字符设置到记录集的字段中,则会出现多步操作错误(因为保留字段的大小不够)。如果我们从服务器中的控制面板(控制面板>区域和语言设置>管理选项卡>更改系统区域设置>中文)的区域设置中将语言设置为中文,则不会触发此错误 如果我们正在设置此时间,则应用程序的时间设置将被更改。我需要一些从控制面板更换的帮助我们如何解决这个问题 请帮忙 提前感谢

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

如果我们正在设置此时间,则应用程序的时间设置将被更改。我需要一些从控制面板更换的帮助我们如何解决这个问题

请帮忙


提前感谢。

在Windows中,您可以将区域设置设置为中文,同时保留时间和日期格式


关于在Visual Basic 6应用程序中使用Unicode,下面是一篇文章,其中有详细的解释和示例:

引用此链接:

在内部,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能够以所有主要语言显示字符。它只需要被告知这样做,并且正确的字节需要在内部就位,以便它发生


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

您好,J.M.,我的应用程序是非Unicode的,如何在不更改区域设置的情况下将其设置为Unicode应用程序。这正是我所期待的。添加了一个关于这一点的部分。+1迈克尔·卡普兰在本文档中解释了VB6部分支持Unicode的完整故事:嗨,J.M.,这个链接非常有用,但我想你没有理解我的观点。我并没有问题显示汉字标签框或存储汉字字符串变量。我只有中文字符设置为记录集时的问题。在每个页面中,我的记录集对应于该页面中的字段,它们的大小将与数据库表字段大小相同。将汉字指定给出现错误的字段之一时:“多步操作错误”。如何克服此问题。在“控制面板”中设置设置时不会触发此错误。另请参阅此问题添加更多信息。请举例或演示。在windows中,名称中带有“Unicode”的字体不支持Unicode。