一、修改客户端字符集
查看/sybase/locales/locales.dat
%sybase%/locales/locales.dat
找到对应操作系统下的字符集配置,如windows
[NT]
locale = enu, us_english, iso_1
locale = fra, french, iso_1
locale = deu, german, iso_1
locale = rus, russian, cp1251
locale = hun, us_english, cp1250
locale = ell, us_english, cp1253
locale = heb, us_english, cp1255
locale = ara, us_english, cp1256
locale = trk, us_english, cp1254
locale = esp, spanish, iso_1
locale = jpn, japanese, sjis
locale = japanese, japanese, sjis
locale = chs, chinese, eucgb
locale = cht, tchinese, big5
locale = kor, korean, cp949
locale = us_english.utf8, us_english, utf8
locale = default, us_english, cp936
找到对应locale=default的行
如上面为: locale = default, us_english, cp936
查看客户端使用的字符集:
select @@client_csname
go
二、修改服务器字符集
select name,id from syscharsets
会列出字符集对应的id号,后续修改和查询都可以上这个里面来找id
查看目前使用的字符集
sp_configure "default character set id"
记住Run Value值,比如是2
查看系统当前支持的字符集
select name,id from master..syscharsets where id=2
go
就可以查询到系统当前使用的字符集名称
或者使用如下命令查询:
sp_helpsort
go
修改字符集,找到你要更改的字符集名称对应的id,用下面语句查询:
select name,id from master..syscharsets
比如修改为cp936,id为171
sp_configure "default character set id",171
go
重启server两次即可。
(注:第一次启动后,server会自动宕掉,需要第二次重启后才能使用)
三、如果没有要安装的字符集
如果想要修改的字符集不存在,需要先安装字符集
命令行进入 \sybase\charsets\目录
比如要安装utf8,进入 \sybase\charsets\utf8目录
要安装cp936,进入 \sybase\charsets\cp936目录
执行命令:charset -U用户名 -P密码 -S服务名 binary.src 要安装字符集名
比如:charset -Usa -P -Szxck binary.srt utf8
然后select name,id from master..syscharsets就可以查询到了
四、已有数据如何转换字符集
bcp方式加字符集参数,全库bcp出来,然后修改字符集后再bcp回去,这里就不赘述bcp的方法