2013-08-21 127 views
4

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

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

请大家帮忙。

在此先感谢。

+0

参见这个问题[VB6的应用的国际](http://stackoverflow.com/questions/830367/ – MarkJ

回答

2

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

+0

嗨JM的一些国际化的-A-VB-6的应用程序),我的应用程序的非Unicode,我将如何使其与出改变区域设置Unicode应用程序。这正是我所期待的。 –

+0

添加了关于此的一节。 – Jublo

+1

+1本文档由Michael Kaplan解释了VB6对Unicode的部分支持的全部内容:http://www.i18nwithvb.com/chapters/Chapter06_en.htm – MarkJ

-1

尝试设置于这些控制为Lucida三世的Unicode字体为加Unicode支持英寸

+0

添加更多信息。请展示一个例子或演示。 – SalmonKiller

+0

在Windows中,其名称中带有“Unicode”的字体确实支持Unicode。 – PSXGamerPro1