多试几个字符集 select * from tb order by sname collate database_defaultselect * from tb order by sname collate SQL_Latin1_General_CP1_CI_AS (collate Chinese_PRC_CI_AS)
呵呵,那就继续用PB开发.PB11支持网页开发了.
有关字符集的内容参考:use master select * from syscharsets1.用sp_helpsort就可以查出当前sql的排序规则,字符集就是用排序规则的前半部分来表达的。 2.用全局变量@@language可以看你当前的语言,用sp_helplanguage可以查看当前语言的详细格式 3.用sp_enumcodepages可以查看sql支持字符集,但并没有与1中的排序规则前部分对应 所以要查看sql的字符集,应该是用sp_helpsort得出的结果, 再看结果的前半部比如chinese_prc就代表简体中文的Unicode字符,
多试几个字符集
select * from tb order by sname collate database_defaultselect * from tb order by sname collate SQL_Latin1_General_CP1_CI_AS (collate Chinese_PRC_CI_AS)
select * from syscharsets1.用sp_helpsort就可以查出当前sql的排序规则,字符集就是用排序规则的前半部分来表达的。
2.用全局变量@@language可以看你当前的语言,用sp_helplanguage可以查看当前语言的详细格式
3.用sp_enumcodepages可以查看sql支持字符集,但并没有与1中的排序规则前部分对应 所以要查看sql的字符集,应该是用sp_helpsort得出的结果,
再看结果的前半部比如chinese_prc就代表简体中文的Unicode字符,
1. 使用unicode数据类型 nchar/nvarchar/ntext/nvarchar(max)
2. 常量使用 N 前导符. insert table values(N'中文')
1. 使用unicode数据类型 nchar/nvarchar/ntext/nvarchar(max)
2. 常量使用 N 前导符. insert table values(N'中文')
COLLATE说不支持text,我们不插入数据,只要查询
存储多国语言应该是使用unicode类型, 而不是设置排序规则(多国语言除了存储的数据外, 还包括客户端+服务端存在不同的语言环境的情况)
1. 使用unicode数据类型 nchar/nvarchar/ntext/nvarchar(max)
2. 常量使用 N 前导符. insert table values(N'中文')
顶,我遇到的乱码问题也很顽固。最后还是用nvarchar,和插入带N解决的。和排序规则好像没什么关系。