多个SQL server2005排序规则。如何才不会乱码

my36z 2009-02-10 09:24:29
同时有英文的拉丁排序,和中文的排序。

是以前开发PB的公司搞的,PB不怕乱码。还插入了那种有问题的中文,好像是半个中文字符。

现在我要用c#读出来好麻烦。源程序是用拉丁排序的表,现在又要和新的中文排序的表混合查询。有人有这种问题的经验么


或者是有其他可以同步到其他备份库那种方法。只要能统一一下排序规则,不要有乱码就可以了
...全文
218 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
benbenkui 2009-02-26
  • 打赏
  • 举报
回复

存储多国语言应该是使用unicode类型, 而不是设置排序规则(多国语言除了存储的数据外, 还包括客户端+服务端存在不同的语言环境的情况)
1. 使用unicode数据类型 nchar/nvarchar/ntext/nvarchar(max)
2. 常量使用 N 前导符. insert table values(N'中文')
顶,我遇到的乱码问题也很顽固。最后还是用nvarchar,和插入带N解决的。和排序规则好像没什么关系。
my36z 2009-02-15
  • 打赏
  • 举报
回复
最后还是用了DTS
dawugui 2009-02-11
  • 打赏
  • 举报
回复
有关字符集的内容参考:

use master 
select * from syscharsets

1.用sp_helpsort就可以查出当前sql的排序规则,字符集就是用排序规则的前半部分来表达的。
2.用全局变量@@language可以看你当前的语言,用sp_helplanguage可以查看当前语言的详细格式
3.用sp_enumcodepages可以查看sql支持字符集,但并没有与1中的排序规则前部分对应

所以要查看sql的字符集,应该是用sp_helpsort得出的结果,
再看结果的前半部比如chinese_prc就代表简体中文的Unicode字符,
dawugui 2009-02-11
  • 打赏
  • 举报
回复
[Quote=引用楼主 my36z 的帖子:]
同时有英文的拉丁排序,和中文的排序。

是以前开发PB的公司搞的,PB不怕乱码。还插入了那种有问题的中文,好像是半个中文字符。

现在我要用c#读出来好麻烦。源程序是用拉丁排序的表,现在又要和新的中文排序的表混合查询。有人有这种问题的经验么


或者是有其他可以同步到其他备份库那种方法。只要能统一一下排序规则,不要有乱码就可以了
[/Quote]
呵呵,那就继续用PB开发.PB11支持网页开发了.
my36z 2009-02-11
  • 打赏
  • 举报
回复
不知道DTC之类的复制同步可不可以处理乱码问题。
zjcxc 2009-02-11
  • 打赏
  • 举报
回复
存储多国语言应该是使用unicode类型, 而不是设置排序规则(多国语言除了存储的数据外, 还包括客户端+服务端存在不同的语言环境的情况)
1. 使用unicode数据类型 nchar/nvarchar/ntext/nvarchar(max)
2. 常量使用 N 前导符. insert table values(N'中文')
zjcxc 2009-02-11
  • 打赏
  • 举报
回复
存储多国语言应该是使用unicode类型, 而不是设置排序规则(多国语言除了存储的数据外, 还包括客户端+服务端存在不同的语言环境的情况)
1. 使用unicode数据类型 nchar/nvarchar/ntext/nvarchar(max)
2. 常量使用 N 前导符. insert table values(N'中文')
my36z 2009-02-11
  • 打赏
  • 举报
回复
崩溃。。。是text字段。

现在是卫生局软件给每家医院做接口。所以修改数据库是不可能的,其他做什么都行。。。


COLLATE说不支持text,我们不插入数据,只要查询
肥龙上天 2009-02-10
  • 打赏
  • 举报
回复

多试几个字符集
select * from tb order by sname collate database_default

select * from tb order by sname collate SQL_Latin1_General_CP1_CI_AS (collate Chinese_PRC_CI_AS)

ChinaJiaBing 2009-02-10
  • 打赏
  • 举报
回复

pb顶.把语句贴出来
rucypli 2009-02-10
  • 打赏
  • 举报
回复
COLLATE可应用于数据库定义的用来定义排序规则的子句
中国风 2009-02-10
  • 打赏
  • 举报
回复
楼主可转到.net版问问

查看一下数据库的字段类型是否为unicode(nvarchar/nchar/ntext)支持多语言

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧