解决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乱码解决办法,发布项目访问地址,中文都显示为乱码
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 3414 错误解决方案 附带错误日志
使用ODBC对数据库时插入数据库中包含中文字符串的数据提交后,再去查询插入的中文字符串,显示中文字符串部分是乱码
Sybase数据仓库解决方案.pptx
Sybase灾难备份解决方案.pdf
dbartisan 连接sybase数据时,解决中文乱码的问题 这里是dbartisan的详细配置截图. 经验总结,摸索了很久才解决的问题。
Sybase商务智能解决方案升级泰康人寿运营系统
Sybase数据仓库解决方案(PPT 51页).ppt
Sybase数据库更换字符集方法,解决中文乱码问题
泰康人寿商务智能项目以Sybase IWS for life Insurance数据仓库核心模型为基础,应用了Power Designer 数据仓库设计工具,Warehouse Control Center元数据及其管理工具,由Sybase专业服务部门提供PS服务来完成整个...
HP的数据库备份解决方案全面满足Sybase数据库用户的各种需求,能够提供各种方式的备份,实现从在线备份、打开文件的备份到零停机备份、零影响备份,消除了计划内的停机时间,完全消除了Sybase数据库传统冷备与热备时...
Sybase_中文乱码处理方法.docx
HP的数据库备份解决方案全面满足Sybase数据库用户的各种需求,能够提供各种方式的备份,实现从在线备份、打开文件的备份到零停机备份、零影响备份,消除了计划内的停机时间,完全消除了Sybase数据库传统冷备与热备时...
根据贵州电信综合业务系统的要求,Sybase 和创智科技一起建议该决策支持系统解决方案采用集中式数据仓库建立的方式。决策分析系统从各业务系统采集所需数据,经过整理转换后,供决策分析系统使用。