Sybase 中文乱码解决办法

来源:互联网 发布:adas算法 编辑:程序博客网 时间:2024/06/06 00:26
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服务,使更改生效 
第一次重启,系统会对已经存在的数据进行转换,转换完成后自动停止服务,只要再次启动服务就可以了。
0 0
原创粉丝点击