Chinaunix首页 | 论坛 | 博客
  • 博客访问: 91311790
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: Sybase

2008-04-17 14:58:08

     来源:赛迪网    作者:Quentin

在安装完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服务两次(第一次启动会失败),启动服务。

阅读(785) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~