在使用Sybase中,经常我们在安装完Sybase后,使用isql或程序插入中文数据后,查询出数据为乱码(中文字符全为‘?’),这是因为客户端的字符集和服务端的字
在安装完Sybase后,很多人在使用isql或程序插入中文数据后发现,查询出的数据是乱码(中文字符全为‘?’),这是因为客户端的字符集和服务端的字符集不一致造成的,Sybase默认安装后默认字符集为:iso_1。通常使用中文字符集在Sybase内是cp936。那么如何设置Sybase的字符集呢?修改方法如下:
Sqlclub学习社区
以Windows操作系统Sybase15为例: Sqlclub.cn
首先说明察看服务端字符集和客户端字符集的方法:
Sqlclub学习社区
查看服务器端字符集: 内容来自Sqlclub.cn
在isql环境中执行: 内容来自Sqlclub.cn
1>; sp_helpsort 内容来自Sqlclub.cn
2>; go
内容来自Sqlclub.cn
查看客户端字符集:
本文来自Sqlclub
在isql环境中执行:
本文来自Sqlclub
1>; select @@client_csname Sqlclub.cn
2>; go 内容来自Sqlclub.cn
修改服务端字符集方法: 本文来自Sqlclub
假设sybase安装目录为$sybase$
Sqlclub学习社区
◆1.转到$sybase$\ASE-15_0\bin目录
Sqlclub学习社区
执行命令:charset -Usa -P binary.srt cp936
Sqlclub学习社区
◆2.打开isql,执行下面的SQL查询出cp936对应的id
copyright Sqlclub
select id , name from syscharsets where name = 'cp936'
Sqlclub
go 本文来自Sqlclub
假设查询结果为171
Sqlclub
执行下面语句设定默认字符集 Sqlclub
sp_configure 'default char',171 --可能有误,以上面的查询结果为准
Sqlclub
go
copyright Sqlclub
关闭ASE Sqlclub
shutdown copyright Sqlclub
go
内容来自Sqlclub.cn
◆3.重新启动sybase服务两次(第一次启动会失败),启动服务
weblogic platform 10.3.1.0
在安装完Sybase后,很多人在使用isql或程序插入中文数据后发现,查询出的数据是乱码(中文字符全为‘?’),这是因为客户端的字符集和服务端的字符集不一致造成的,Sybase默认安装后默认字符集为:iso_1。通常使用中文字符集在Sybase内是cp936。那么如何设置Sybase的字符集呢?修改方法如下:
Sqlclub学习社区
以Windows操作系统Sybase15为例: Sqlclub.cn
首先说明察看服务端字符集和客户端字符集的方法:
Sqlclub学习社区
查看服务器端字符集: 内容来自Sqlclub.cn
在isql环境中执行: 内容来自Sqlclub.cn
1>; sp_helpsort 内容来自Sqlclub.cn
2>; go
内容来自Sqlclub.cn
查看客户端字符集:
本文来自Sqlclub
在isql环境中执行:
本文来自Sqlclub
1>; select @@client_csname Sqlclub.cn
2>; go 内容来自Sqlclub.cn
修改服务端字符集方法: 本文来自Sqlclub
假设sybase安装目录为$sybase$
Sqlclub学习社区
◆1.转到$sybase$\ASE-15_0\bin目录
Sqlclub学习社区
执行命令:charset -Usa -P binary.srt cp936
Sqlclub学习社区
◆2.打开isql,执行下面的SQL查询出cp936对应的id
copyright Sqlclub
select id , name from syscharsets where name = 'cp936'
Sqlclub
go 本文来自Sqlclub
假设查询结果为171
Sqlclub
执行下面语句设定默认字符集 Sqlclub
sp_configure 'default char',171 --可能有误,以上面的查询结果为准
Sqlclub
go
copyright Sqlclub
关闭ASE Sqlclub
shutdown copyright Sqlclub
go
内容来自Sqlclub.cn
◆3.重新启动sybase服务两次(第一次启动会失败),启动服务
weblogic platform 10.3.1.0