日期:2014-05-18  浏览次数:20923 次

查询sqlserver字符集

请问,如何能查询出sql server2000的字符集?
在哪里查看,或者是用什么sql语句可以查出。

先声名一下,我要的不是“排序规则”,现在在网上,包括在csdn上查到的,大家所说的都是sqlserver的排序规则(比如cmd->rebuildm.exe的方式),得出来的一般是chinese_pcr_ci_as等等,这并不是我想要的。

我想知道的是sqlserver用的到底是GBK,或者是UTF-8,又或者是GB2312等等,
例如在oracle里可以用“select userenv(‘language’) from dual”查询出它的字符集(GBK或UTF-8)。

------解决方案--------------------
sqlserver使用的字符集取决于windows支持的字符集,windows支持的sqlserver都支持
char,varchar,text用于非unicode字符数据
nchar,nvarchar,ntext用于unicode字符数据

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

所以要查看sql的字符集,应该是用sp_helpsort得出的结果,再看结果的前半部比如chinese_prc就代表简体中文的Unicode字符,至于其它的目前我还不知道
------解决方案--------------------
sqlserver支持的字符集和sqlserver字符的排序规则是两回事
排序规则是对字符类数据排序时用哪个字符集的顺序来排
sqlserver支持的字符集就是windows支持的字符集
unicode字符集基本上包括了世界各种语言的字符集
其中包括中文的GB2312,GBK,以及超大字符集等等
sqlserver都支持的
前提是windows要安装了这些字符集的字库,才能正常显示