如何查看sybase数据库的字符集

如何查看sybase数据库的字符集,第1张

1. JDBC连接串要有字符集设置

jdbc:sybase:Tds:192.168.3.11:5000/Wfis_db?charset=cp936

2. 服务器配置成cp936

(1)使用isql查看当前已经安装的字符集

isql -Usa -P

>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 -P

>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 -P -Sdbserver -Jcp936

SYBASE导入数据时提示乱码错误关于这个问题,我觉得这是oracle字符集的问题。 dmp文件是从ZHT16BIG5字符集(繁体中文)导出的,而你要导入的数据库字符集是ZHS16GBK(简体中文) 可以通过修改导入的数据库字符集来导入此文件。怎样修改字符集? 8i以上版本可以通过alter database来修改字符集,但也只限于子集到超集,不建议修改props$表,将可能导致严重错误。 Startup nomountAlter database mount exclusiveAlter system enable restricted sessionAlter system set job_queue_process=0Alter database openAlter database character set ZHT16BIG5导入后还可以把字符集改回ZHS16GBK,如果没有什么问题,并且数据不是乱码,就算成功了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9835609.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存