簡體數據庫的字段如何在繁體客戶端正常顯示?,字段為char ,不能改。
求高手賜教!繁簡delphisql server

解决方案 »

  1.   

    我是過,網上的轉換代碼,可轉換介面,但轉換數據庫不行,
    function GBtoBIG5(value: string): string;
    var
      leng, idx      : integer;
      tmpStr         : string[2];
      Offset         : integer;
      output         : string;
    begin
      output := '';
      leng := length(value);
      idx := 1;
      while idx <= leng do
      begin
        tmpStr := value[idx]+ value[idx + 1];
        if isGB(tmpStr) then
        begin
          offset:=GBOffset(tmpStr);
          if (offset >= 0) and (offset <= 8177) then
          begin
            output := output + WordToString(GBOrder[offset]);
            inc(idx);
          end
          else
            output := output + value[idx] ;
        end
        else
          output := output + value[idx] ;    inc(idx, 1);
      end;
      Result := output;
    end;
      

  2.   

    TO:feiba7288你能發段代碼我看看嗎? 
      

  3.   

    試下這份:
    function Big52Gb(Str: string): string ;    //繁體系統發簡體的
    var
      Len: Integer;
      pBIG5Char: PChar;
      pGBCHSChar: PChar;
      pGBCHTChar: PChar;
      pUniCodeChar: PWideChar;
    begin
      //String -> PChar
      pBIG5Char := PChar(Str);
      Len := MultiByteToWideChar(950,0,pBIG5Char,-1,nil,0);
      GetMem(pUniCodeChar,Len*2);
      ZeroMemory(pUniCodeChar,Len*2);
      //Big5 -> UniCode
      MultiByteToWideChar(950,0,pBIG5Char,-1,pUniCodeChar,Len);
      Len := WideCharToMultiByte(936,0,pUniCodeChar,-1,nil,0,nil,nil);
      GetMem(pGBCHTChar,Len*2);
      GetMem(pGBCHSChar,Len*2);
      ZeroMemory(pGBCHTChar,Len*2);
      ZeroMemory(pGBCHSChar,Len*2);
      //UniCode->GB CHT
      WideCharToMultiByte(936,0,pUniCodeChar,-1,pGBCHTChar,Len,nil,nil);
      //GB CHT -> GB CHS
      LCMapString($804,LCMAP_SIMPLIFIED_CHINESE,pGBCHTChar,-1,pGBCHSChar,Len);
      Result := String(pGBCHSChar);
      FreeMem(pGBCHTChar);
      FreeMem(pGBCHSChar);
      FreeMem(pUniCodeChar);
    end;
      

  4.   

    你這段代碼改成GB2Big5,要怎麼改? 
      

  5.   

    http://hi.baidu.com/hkzyq1/item/0e79abe3aa6957c0baf37de1你參考下這份的,估計不是轉換函數的問題。
      

  6.   

    请参考
    http://download.csdn.net/detail/bambuz/1338038
    http://bbs.csdn.net/topics/80271986
      

  7.   

    TO:sololie
       不行,我試過了。
      

  8.   

    TO:feiba7288    你講的有道理,可能不是轉換函數的問題,可能是要在取數據時就轉換過來才行。
      

  9.   

    你试试Unicode啊,  在Client上把 Char转换成Unicode,然后使用能同时显示简体和繁体的font
      

  10.   

    什么版本的Delphi啊??
    我之前写的程序,用的Delphi2010,在简体下可以正常显示繁体数据库内容。
    但是,如果输入简体字,保存后可能会变成问号。
    所以,如果单纯是显示,应该没问题啊。
      

  11.   

    delphi7.0  試過多次,只能用轉碼的方式。 現在搞定了,謝謝feiba7288以及各位