none
Unicode 與Vista RRS feed

  • 問題

  •  

    我用 VB6.0 加 MS Form 2.0 Object Library 建構一個讀Access DB的程式,在XP和2000行都無問題,但到了Vista,如果輸入了Ext-B的中文字後,我發現Text Box不能顯示那字,但開了Access DB看,郤能看見那字。為什麼呢?這樣我重覆輸入其它Ext-B的中文字,都是不能顯示,郤能Save在資料庫中,為什麼會這樣呢?可以怎才能看到那些Ext-B的字呢?請各位給我一些意見。
    2007年8月30日 上午 07:20

解答

  • 補充:

     

    Win2k/XP/2003 內的 Unicode 是 2.0 ,你所稱的字型本身隨政府生產力光碟散佈,後來微軟從下載中心中移除,原因不明,是 Unicode 3.1 。

     

    Vista 內建的是 Unicode 5.0 ,從規格來說,理論上應該不至於是 Unicode 版本衝突造成,但是規格跟實做是兩回事,微軟在實做時, Vista 內的是否已完成整合或內容與先前封包的 Unicode 3.1 衝突就不知道了。

     

    畢竟微軟沒有說任何原因,就在 2004 年底把那個下載移除,所以也不知道那個下載是否有跟 Vista 的 Unicode 5.0 有不相容之處。

     

     

    若仍找不出問題的話,你可能要到 http://support.microsoft.com/ 尋求技術支援,畢竟這個比較底層,你若是沒有相關的身分可以問問題的話,可能要付費問問題。

     

    註:規格由此組織定義:http://www.unicode.org/ ,微軟只是依規格實做。

    2007年8月31日 上午 06:44
    版主

所有回覆

  • 嘗試將 TextBox 的 AutoWordSelect 屬性設成 False
    2007年8月30日 下午 02:21
  • 還是不能看到Ext-B的字。因為細明體的Ext-B是另外的Font名,我想是不是這原因呢?但這樣是不是不能做到在VB6裏顯示Ext-B的字呢?

    2007年8月31日 上午 03:46
  • 這篇觀念性的說明你可以先看一下:

    [VB] Unicode 概述

     

    VB6 的介面是 ANSI Window ,並不見得掛了 Unicode Window 控制項就可以解決,根本解決問題的方法是換 VBNET 開發。

     

    2007年8月31日 上午 05:30
    版主
  • 補充:

     

    Win2k/XP/2003 內的 Unicode 是 2.0 ,你所稱的字型本身隨政府生產力光碟散佈,後來微軟從下載中心中移除,原因不明,是 Unicode 3.1 。

     

    Vista 內建的是 Unicode 5.0 ,從規格來說,理論上應該不至於是 Unicode 版本衝突造成,但是規格跟實做是兩回事,微軟在實做時, Vista 內的是否已完成整合或內容與先前封包的 Unicode 3.1 衝突就不知道了。

     

    畢竟微軟沒有說任何原因,就在 2004 年底把那個下載移除,所以也不知道那個下載是否有跟 Vista 的 Unicode 5.0 有不相容之處。

     

     

    若仍找不出問題的話,你可能要到 http://support.microsoft.com/ 尋求技術支援,畢竟這個比較底層,你若是沒有相關的身分可以問問題的話,可能要付費問問題。

     

    註:規格由此組織定義:http://www.unicode.org/ ,微軟只是依規格實做。

    2007年8月31日 上午 06:44
    版主
  • 謝謝你的資料,其實我也曾看看是否VB6內的Unicode版本問題,但沒有多大的頭緒。然而,明顯的是在Vista的輸入字裏有三個Check box 是Ext-A, Ext-B 和 HSCS三個。而用速成輸入法時,你會發現有黑色字,綠色字和紅色字。而點色字和綠色字在MS Word的輸入時,是可以用同一個字體顯示的,但紅色字的字體就不同於綠色和黑色字的字體。這是我的發現。

    另外,VB6本來的是Big5的,但可以後加MS Form 2.0,使畫面可以輸入Unicode的字,而如果係你所說不同Unicode版本問題,不可能用MS Access可以看到正確的字出現在Database裏面的。所以我相信,有一些Vista的改動,與之前的不同了,而出現這情況。

     

     

    2007年8月31日 上午 08:33