解决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
分享到:
相关推荐
sybase乱码解决办法,发布项目访问地址,中文都显示为乱码
C#连接sybase查询数据时,出现中文乱码的完美解决办法。
Sybase安装步骤及中文乱码解决办法,本人参考各种资料,然后自己解决成功无数次后总结的结果
4,乱码问题:sybase使用latin1字符集的时候,c#中读取字符串会是乱码,进行如下转换就行: System.Text.Encoding.GetEncoding("gbk").GetString( System.Text.Encoding.GetEncoding("latin1").GetBytes( s );
$SYBASE\shared-1_0\jre1.2.2\lib\font.properties.zh.NT5.0
sybase数据库无法删除解决办法 sybase数据库无法删除解决办法
使用ODBC对数据库时插入数据库中包含中文字符串的数据提交后,再去查询插入的中文字符串,显示中文字符串部分是乱码
dbartisan 连接sybase数据时,解决中文乱码的问题 这里是dbartisan的详细配置截图. 经验总结,摸索了很久才解决的问题。
Sybase数据库更换字符集方法,解决中文乱码问题
Sybase 移动计算解决方案
Sybase_中文乱码处理方法.docx
如果连接数据库,读出的中文信息显示乱码,可以试试。
WIN下Sybase生僻汉字不支持解决办法详解。
sybase 3414 错误解决方案 附带错误日志
通讯SYBASE数据库维护参考办法
SYBASE 数据库是当今在UNIX环境下最为流行的大型数据库之一,作者在SYBASE下开发和维护软件的过程中,发现了一些SYBASE的内部规则,在程序设计中极易造成误解,...本文将作者所发现的几个问题及其解决办法和大家分享。
PB补丁 博文链接:https://leeleo.iteye.com/blog/365113
Sybase 中文安装指南
解决Sybase数据库死锁