declare @t table (name nvarchar(10))
insert @t values(N'繁體')
insert @t values(N'伝統的な')
insert @t values(N'전통')
select * from @t
/*
name
----------
繁體
伝統的な
전통
*/

解决方案 »

  1.   


    --试试
    SELECT name_chi COLLATE Chinese_Taiwan_Stroke_CI_AI FROM tb
      

  2.   

    数据已存进表了就麻烦了,unicode编码都变了。
      

  3.   

    在A机器上新建个表newtb,
    把数据先导过去,
    insert newtb
    select cast(col as nchar(26))
    from oldtb再读取显示看看
      

  4.   


    --在A上建立以下Function.
    /*
    返回Unicode字串
    */
    CREATE FUNCTION GetNString(@in varbinary(8000))
    RETURNS NVARCHAR(4000)
    AS
    BEGIN
    DECLARE @H VARBINARY(1)
    DECLARE @L VARBINARY(1)
    DECLARE @C VARBINARY(2)
    DECLARE @N NVARCHAR(4000)
    DECLARE @i INT
    SET @N=''
    SET @i=1
    WHILE @i<=LEN(@in)+1
    BEGIN
    SET @H=SUBSTRING(@in,@i+1,1)
    SET @L=SUBSTRING(@in,@i,1)
    SET @C=@H+@L
    SET @N=@N+NCHAR(@C)
    SET @i=@i+2
    END

    RETURN @N
    END
    GO
    --然后这样调用
    --
    SELECT dbo.GetNString(CAST(cast(name_chi as nvarchar(100)) as varbinary(8000)))
    FROM tb
      

  5.   

       繁体SQl2000,安装在简体中文系统上也试过,,也是乱码,,
      

  6.   

    10楼的函数,转换后显示也不正常啊,,  --今天下午对B机器装了繁体操作系统,,痛苦的是还是不起作用,,A机器是外部公司的人事服务器,经过详细询问,他们的公司内部的人事系统原来是在香港用的,,每次在简体系统中打开会全是乱码,
    然后要安装译典通软件后,,运行多语浏览,然后人事系统才能正常显示繁体,,
      但在后台数据库,,Name_chi还没有人读出来过(包括在A机器上操作),发贴时,说明3错误了
    目前将就的解决方案:
      让对方从前台系统中导出繁体字符,,
      然后转换成简体,,再导入到B系统,,需要人工操作,,同时期待更好的方法。。
      

  7.   

    你挑一条记录的name_chi的值,转成nvarchar后再转成varbinary贴出来看看.
    SELECT TOP 1 CAST (CAST(RTRIM(name_chi) as NVARCHAR(30)) as varbinary(60))
    FROM NBstuff--然后再贴出该值对应的中文是什么
      

  8.   


    运行结果是:
     name_chi
    0xB3005C002000A800D3002000B5006F00
      

  9.   


    这个binary序列看起来不是中文字啊!
      

  10.   

       要是汉字16进制的话,cast也能转换出来的,
    既然16进制都不同了,,在前台的系统里面,用典译通软件多语翻译功能,乱码却能显示出繁体字,有点郁闷~