2013-08-21 159 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