如何修改Syabse服务器端的默认字符集

间隙填充
正睿科技  发布时间:2008-04-19 09:16:15  浏览数:2167

  在安装完Sybase后,很多人在使用isql或程序插入中文数据后发现,查询出的数据是乱码(中文字符全为‘?’),这是因为客户端的字符集和服务端的字符集不一致造成的,Sybase默认安装后默认字符集为:iso_1。通常使用中文字符集在Sybase内是cp936。那么如何设置Sybase的字符集呢?修改方法如下:

  以Windows操作系统Sybase15为例:

  首先说明察看服务端字符集和客户端字符集的方法:

  查看服务器端字符集:

  在isql环境中执行:

  1>; sp_helpsort

  2>; go

  查看客户端字符集:

  在isql环境中执行:

  1>; select @@client_csname

  2>; go

  修改服务端字符集方法:

  假设sybase安装目录为$sybase$

  ◆1.转到$sybase$\ASE-15_0\bin目录

  执行命令:charset -Usa -P binary.srt cp936

  ◆2.打开isql,执行下面的SQL查询出cp936对应的id

  select id , name from syscharsets where name = 'cp936'

  go

  假设查询结果为171

  执行下面语句设定默认字符集

  sp_configure 'default char',171 --可能有误,以上面的查询结果为准

  go

  关闭ASE

  shutdown

  go

  ◆3.重新启动sybase服务两次(第一次启动会失败),启动服务。