两个库都采用Chinese_PRC_CI_AS 对于,b 库用
select * from 表 order by 列 collate SQL_Latin1_General_CP1_CI_AI 
来查询排序

解决方案 »

  1.   

    怀疑是不是两表的数据类型不对,采用nchar/nvarchar/ntext
      

  2.   

    insert into a  select * Chinese_PRC_CI_AS  from b
      

  3.   

    就是pbsql(风云)说的,与排序无关
      

  4.   

    thanks 各位。具体的情况是:
    在查询分析器中,
    use b
    select * from b.dbo.mytable 
    如果在 
        工具 -> 选项 -> 连接 -> 执行字符数据的转换 
    选中它,结果就是乱码;不选,结果就能显示正确的中文。
    至于把表 b.dbo.mytable 的数据插入到 a.dbo.mytable 
    用 insert into a.dbo.mytable select * collate Chinese_PRC_CI_AS  from b.dbo.mytable 不起作用。
      

  5.   

    在查询分析器中,选中 工具 -> 选项 -> 连接 -> 执行字符数据的转换
    出来是乱码,但
    select theName collate Georgian_Modern_sort_CI_AS from b.dbo.mytable 
    显示的结果是正确的,不过插到 a.dbo.mytable 中还是错误的。说白了,就是将 ISO-8859-1 编码的字符串转成 gb2312 ,用SQL实现。
      

  6.   

    将数据储存为unocode类型,就不要转了
      

  7.   

    我认为应该是数据类型的错误,可能就是UNICODE和非UNICODE的问题。
      

  8.   

    done
    我模拟了实现了
    在查询分析器中不选中 
    工具 -> 选项 -> 连接 -> 执行字符数据的转换有好几个方法
    1 opendatasource 一类openXXX
    2 链接服务器
    3 本地包导数据最终选择用链接服务器,自己链接自己。通过链接后检索出来的数据就是已经转码的了。感谢各位
      

  9.   

    insert into a.dbo.mytable from [127.0.0.1].b.dbo.mytable