用ado連接DOS下的倚天中文系統的dbf表,在delphi中顯示時,凡是中文內容都成了亂碼,而用vfp6.0打開那個dbf表,中文能正確顯示,將那個dbf表導入到sqlserver2000中,中文也能正確顯示,這時用delphi連接這個轉換後的sqlserver2000的表,中文又能正確顯示了,哪位高人指點一下吧,這是甚麼原因造成的,有辦法解決麼?
    如果不行,那就只有先導入到sqlserver中了.

解决方案 »

  1.   

    將顯示中文的控件的字體改為:GB2312_CharSet,宋體.試一試.
      

  2.   

    如果是繁體系統就將顯示中文的控件的字體(Font)改為:DEFAULT_CHARSET(或者CHINESEBIG5_CHARSET),新細明體.試一試.
      

  3.   

    to sailxia(小帆) : 這兩天忙於其他的事情,沒有及時上網,回覆遲了,不好意思.
    我將顯示中文的控件的字體(Font)改為:DEFAULT_CHARSET(或者CHINESEBIG5_CHARSET),新細明體,還是顯示亂碼,有甚麼其他好的建議?
      

  4.   

    樓上的兄弟,我這個dbf表是繁體的,我的delphi所在的操作系統也是繁體的.GB2312_CharSet,宋體.是簡體怎麼行啊?
      

  5.   

    真沒人回答這個問題了麼?我的代碼如下,供大家參考:
      with adoquery1 do
      begin
        CLOSE ;
        CONNECTIONSTRING:='Provider=MSDASQL.1;Persist Security Info=False;Extended Properties=[CollatingSequence=ASCII;DBQ=C:\;DefaultDir=C:\;Deleted=0;Driver={Microsoft dBase Driver (*.dbf)};FIL=dBase IV;]' ;
        sql.clear ;
        sql.Add('select * from jinput') ;
        open ;
      end ;運行環境: 繁體windows98+delphi7
    我後來在簡體windows2000中運行這程序,竟然可以正確顯示繁體中文,windows2000真是偉大啊!為甚麼win98就不行? 這好像是代碼頁的問題,但我不知道如何設置.  求求各位了,我都快瘋了.要是再解決不了,大家可能要到深圳精神病醫院才能見到我了.
      

  6.   

    我也想不出來了,不好意思,我以前也做過關於數據的,也一樣亂碼,按照我說的那樣改,就好了.我也覺得是代碼頁的問題,就象ASP裡面的<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>這一句就可以顯示簡體/繁體.