用nvarchar或nchar数据类型,也就是用unicode

解决方案 »

  1.   

    将库中字段类型设为Unicode类型,即以n开头的类型,如nChar、nVarChar
      

  2.   

    你这个问题是不是有点矛盾?
    你明明说了:
     3.數据存儲在香港的服務器中(服務器為英文版),SQL2000表中漢字存儲統一為簡体內碼.
    但是又说:
    并不能解決簡体和繁体共存在一個SQL表中.
    我不太明白,不是已经统一成简体存放吗,为什么还要解决简体繁体共存一个SQL表中?
    如果没有以上统一,你可以在数据库表中建立一个标志字段说明此条存放的是简体还是繁体,这样可以更具这个标志位进行相应操作,这种方式适合于一条记录是简体另一条是繁体的情况但是不适合一条记录中既有简体又有繁体的情况。
    以上观点仅供参考,但愿可以给你一个启发。
      

  3.   

    我在這里重新說明一下:
      1.我的SQL2000中已經是nvarchar字段
      2.這程序實現如下頸能:(簡体操作系統和繁体操作系統能操作同一張SQL表中的數据)
        1>.簡体下輸入的數据能在繁体下顯示﹐修改.
        2>.繁体下輸入的數据能在簡体下顯示﹐修改.
              
      

  4.   

    既然你的数据库中的数据都已经统一成简体存放的。
    你的程序是不是也应当分为简体和繁体两种呢?如果是简体版就不用做任何修改,因为数据库中的数据就是简体的,繁体版的入库出库数据就需要作一个你说的转换程序进行转换。
    如果你的程序不是分为简体和繁体版,那样就作一个标志位标志运行环境是简体还是繁体的,如果是简体就不用做转换,繁体的就要做转换。(那个标志位可以是一个文本文件也可以是INI文件还可以在注册表中看你怎么用的熟练了)以上思路完全没有经过测试,所以仅供参考。
      

  5.   

    to liulike(liulike) 
    你到底是什么编码的方式,存在数据库里
    unicode?big5?gb?
      

  6.   

    TO:chs1918(二雷)
      謝謝您的參与,我這個軟件界面全部是英文的,主要是數据庫中的資料基本上是中文的.現在這軟件的主要操作是在大陸(簡体操作系統)上進行.領導在香港(繁体操作系統)有時會需要對在(簡体操作系統)上輸入的資料查閱并修改或增加一些資料,他所做的修改在(簡体操作系統)上要照常顯示并能修改.現在我的想法是:
      1.在簡体上輸入資料時不需要轉換,照常進行.
      2.在繁体上首先通過進換然后顯示,其次修改,增加的資料通過轉換再保存進數据庫中.
      
      

  7.   

    to:chs1918(二雷)
       我現在通過轉換,在繁体下能正确顯示,但在繁体下修改,增加的資料在簡体下和繁体下都不能正确顯示.
                                   求救啊!!!!!!!! 急!!!!!!!!
      

  8.   

    你的编码逆运算一定有问题(繁体转换存储部分),我想根本就没有道理出现你说的情况!
    分析如下,首先你应当看看数据库中存储的编码是否有问题
    数据库中的编码是对的:这个编码显示是没有问题但是一定有些不应当存在的字符在里面所以将这个字符找出来,具体找的方法我没有没有不过我想可以通过ACCESS建立sql server的链接然后可以比较直观的来看数据(建立链接也是通过ODBC实现的)(其实数据库中的字符串不可能是对的!!!因为简体也是读取不出来不过可能有特殊字符但是可能性不大,几乎为0)
    数据库中的编码是不对的:说明你的繁体翻译简体的程序有问题,有可能是你的程序编辑的有问题还有可能是你找的源程序或者算法就有问题所以你应当一项一项排除。
    确定源程序有问题比较简单,确定算法就比较麻烦,可以在繁体版下进行调试,将数据库中的简体翻译成繁体放在字符串中,之后再用程序将这个字符串通过转换成简体看看是不是原来的东东,问题到底出在那里还是需要你自己好好找找,我也实在是不能到现场帮助你,如果你在北京那还有可能。对了明天我可能比较忙,如果有什么问题可以给我发邮件5分钟收一次的。
    [email protected]