解决Sybase中文问题

解决Sybase中文问题
http://blog.csdn.net/kingspider/
http://blog.sina.com.cn/u/1163490885
1.     JDBC 连接串要有字符集设置
jdbc:sybase:Tds:192.168.3.11:5000/Wfis_db?charset=cp936
 
2.     服务器配置成 cp936
(1)    使用isql 查看当前已经安装的字符集
isql -Usa -Plongtop
>use master
>go
>select id,name from syscharsets
>go
 id name
 --- ----------------
   0 ascii_8
   1 iso_1
   2 cp850
 20 defaultml
 21 thaidict
 22 iso14651
 24 utf8bin
 25 binary
 39 altnoacc
 45 altdict
 46 altnocsp
 47 scandict
 48 scannocp
 50 bin_iso_1
 50 bin_cp850
 51 dict
 52 nocase
 53 nocasep
 54 noaccent
 55 espdict
 56 espnocs
 57 espnoac
 59 rusnocs
 64 cyrnocs
 65 elldict
 69 hundict
 70 hunnoac
 71 hunnocs
 73 turknoac
 74 turknocs
 129 cp932bin
 130 dynix
 137 gb2312bn
 140 cyrdict
 155 turdict
 161 euckscbn
 163 gbpinyin
 165 rusdict
 179 sjisbin
 192 eucjisbn
 194 big5bin
 
(41 rows affected)
从列表中看出没有安装cp936字符集
 
(2)    查看当前使用的缺省字符集
>sp_configure "default char"
>go
 Parameter Name                  Default     Memory Used Config Value
         Run Value   Unit                 Type
 ------------------------------ ----------- ----------- ------------
         ----------- -------------------- ----------
 default character set id                  2           0           2
                   2 id                   static
 
缺省字符集的id是2,查看上面的列表,可以得知是cp850
 
(3)    因为上面的列表中没有安装cp936 ,所以就安装cp936 字符集
进入目录C:/sybase/charsets/cp936
运行命令 charset -Usa -Plongtop binary.srt cp936
运行完成后,系统就安装了cp936字符集
 
(4)    验证是否确实安装了cp936 字符集
isql -Usa -Plongtop
>use master
>go
>select id,name from syscharsets
>go
 id name
 --- ------------------------------
   0 ascii_8
   1 iso_1
   2 cp850
 20 defaultml
 21 thaidict
 22 iso14651
 24 utf8bin
 25 binary
 39 altnoacc
 45 altdict
 46 altnocsp
 47 scandict
 48 scannocp
 50 bin_iso_1
 50 bin_cp850
 50 bin_cp936
 51 dict
 52 nocase
 53 nocasep
 54 noaccent
 55 espdict
 56 espnocs
 57 espnoac
 59 rusnocs
 64 cyrnocs
 65 elldict
 69 hundict
 70 hunnoac
 71 hunnocs
 73 turknoac
 74 turknocs
 129 cp932bin
 130 dynix
 137 gb2312bn
 140 cyrdict
 155 turdict
 161 euckscbn
 163 gbpinyin
 165 rusdict
 171 cp936
 179 sjisbin
 192 eucjisbn
 194 big5bin
 
(43 rows affected)
从列表中可以发现已经安装了cp936,id是171
 
(5)    把系统的当前缺省字符集设置为cp936
>sp_configure "default char",171
>go
In changing the default sort order, you have also reconfigured SQL Server's
default character set.
 Parameter Name                 Default     Memory Used Config Value
         Run Value   Unit                 Type
 ------------------------------ ----------- ----------- ------------
         ----------- -------------------- ----------
 default character set id                  2           0         171
                   2 id                   static
 
(1 row affected)
Configuration option changed. Since the option is static, Adaptive Server must
be rebooted in order for the change to take effect.
Changing the value of 'default character set id' to '171' increases the amount
of memory ASE uses by 6 K.
(return status = 0)
 
(6)    重启Sybase 服务,使更改生效
第一次重启,系统会对已经存在的数据进行转换,转换完成后自动停止服务,只要再次启动服务就可以了。
 
(7)    更改DB 客户端的字符集
DBArtisan中要更改客户端的字符集为cp936才能连接cp936的服务器
通过菜单/Logfile/Options...打开对话框,选择Connection标签,
更改Client Character输入框的值为cp936。
 
数据库的charset修改为cp936时,使用isql按如下的方式
isql -Usa -Plongtop -Sdbserver -Jcp936
 
汪涛
2006.02.23
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kingspider-sh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值