祝愿大家身体健康!

 站点注册  找回密码
 站点注册

QQ登录

只需一步,快速开始

查看: 8621|回复: 0

[参考资料] Sybase ASE 15.0.3 for windows 安装中文语言支持、配置字符集

[复制链接]

[参考资料] Sybase ASE 15.0.3 for windows 安装中文语言支持、配置字符集

[复制链接]
andkylee

主题

0

回帖

7226

积分

论坛元老

积分
7226
贡献
在线时间
小时
2010-9-15 20:14:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?站点注册

×
本帖最后由 andkylee 于 2010-9-15 20:16 编辑

转自:http://www.dbainfo.net/sybase-ase-1503-character-set-utf8-chinese-language.htm
安装中文语言支持、配置字符集

         在windows平台上,Sybase ASE15.0.3安装完成后默认语言是:英语(us_english),默认字符集为:cp850。cp850是一个西欧字符集,虽然也能使用cp850字符集保存汉字,但是不推荐在生产环境中使用该字符集。

         如果生产系统中Sybase ASE数据库仅考虑支持简体中文的话,则可以使用cp936或者utf8这两种字符集。如果需要国际化支持,那么需选择utf8字符集。

         在生产环境中,需要将默认字符集由cp850调整为utf8(或者调整成支持简体中文的cp936也可以,根据项目情况而定!),将默认语言调整为中文。

         备注:如果想设定ASE的默认语言为中文,必须先将默认字符集设定为utf8,才能设置默认语言为中文。否则会报错。
1查看当前数据库的默认字符集:

执行:

sp_configure "default character set id"

go

查看到Run Value为:2,执行:

select id,name from master..syscharsets where id=2

go

查看到当前字符集为:cp850


2将字符集调整为utf8的过程:

将字符集由cp850或者iso_1调整为utf8有2中方法:图形界面工具和命令行工具。下面分别演示过程。
2.1用图形界面工具调整字符集为utf8

菜单:开始>所有程序>Sybase>Adaptive Server Enterprise>Server Config



(或者:

cd /d %sybase%\%sybase_ase%\bin

syconfig



左边的产品列表选择Adaptive Server,点“配置Adaptive Server”按钮,选择要配置的服务器:WIN2003SERVER



输入sa的口令:





进入到配置Adaptive Server窗口



选择“语言”按钮,



可以看到当前缺省值中的字符集为:cp850。点“字符集”下面的“添加/删除”按钮,



从可用字符集列表中选择“Unicode 3.1 UTF-8 Character Set”字符集,点确定。

点“字符集”下面的“设置缺省值”按钮



选择“Unicode 3.1 UTF-8 Character Set”字符集,点确定。



预览一下,可以看到当前缺省值中字符集已经被改为“utf8”。点确定按钮。返回到“配置Adaptive Server”窗口,点保存按钮。



这时候开始安装utf8字符集,并配置默认字符集为utf8。如果ASE中有用户数据库,则此过程需要持续一段时间,因为ASE需要将用户数据库的内容都转化为utf8字符集下的内容。

配置完成后返回到窗口。





查看ASE的错误日志文件win2003server.log,发现在配置字符集为utf8过程中ASE重启了两次。

00:00000:00031:2010/09/13 13:59:32.67 server  The configuration option 'default character set id' has been changed by 'sa' from '2' to '190'.

00:00000:00031:2010/09/13 13:59:32.67 server  WARNING: ***************************

00:00000:00031:2010/09/13 13:59:32.67 server  Default char set being reconfigured:

00:00000:00031:2010/09/13 13:59:32.67 server         old charset ID = 2    new charset ID = 190

00:00000:00016:2010/09/13 13:59:34.89 server  Shutdown started by user 'sa'. SQL text: shutdown

先将ASE数据库关闭,然后用单用户模式启动数据库

00:00000:00001:2010/09/13 14:00:11.59 server  *** WARNING ******************

00:00000:00001:2010/09/13 14:00:11.59 server  Attempting to change default character set ID from 2 to 190

00:00000:00001:2010/09/13 14:00:11.59 server  ASE booted single user mode – updates allowed to system catalogs

00:00000:00001:2010/09/13 14:00:11.59 server  *** WARNING ******************

此时数据库默认字符集已经调整为utf8,后面的过程为将ASE已有数据库的数据转化为utf8的数据。

00:00000:00001:2010/09/13 14:00:30.96 server  Now loading ASE's new default sort order and character set

00:00000:00001:2010/09/13 14:00:31.07 server  Checking table 'sysobjects' (object ID 1): Logical page size is 4096 bytes.

00:00000:00001:2010/09/13 14:00:31.10 server  

00:00000:00001:2010/09/13 14:00:31.10 server  Checking partition 'sysobjects_1' (partition ID 1) of table 'sysobjects'. The logical page size of this table is 4096 bytes.

00:00000:00001:2010/09/13 14:00:31.15 server  

00:00000:00001:2010/09/13 14:00:31.29 server  Checking table 'systypes' (object ID 4): Logical page size is 4096 bytes.

00:00000:00001:2010/09/13 14:00:31.29 server  

00:00000:00001:2010/09/13 14:00:31.29 server  Checking partition 'systypes_4' (partition ID 4) of table 'systypes'. The logical page size of this table is 4096 bytes.

转化完毕后,已正常模式再次重新启动ASE数据库。



启动日志的最后有:

00:00000:00001:2010/09/13 14:30:12.67 server  ASE's default unicode sort order is 'binary'.

00:00000:00001:2010/09/13 14:30:12.67 server  ASE's default sort order is:

00:00000:00001:2010/09/13 14:30:12.67 server         'bin_utf8' (ID = 50)

00:00000:00001:2010/09/13 14:30:12.67 server  on top of default character set:

00:00000:00001:2010/09/13 14:30:12.67 server         'utf8' (ID = 190).

00:00000:00001:2010/09/13 14:30:12.67 server  Master device size: 60 megabytes, or 30720 virtual pages. (A virtual page is 2048 bytes.)

由上可以看出,ASE数据库的默认字符集已经被设置为:utf8。



检验utf8字符集是否配置成功

在cmd下执行: isql –Usa –P –Swin2003server –Jcp936登录ASE数据库。

1> sp_configure "default character set id"

2> go

Parameter Name                 Default              Memory Used

         Config Value         Run Value            Unit

         Type

—————————— ——————– ———–

         ——————– ——————– ——————–

         ———-

default character set id                 2                    0

                  190                  190         id

         static



(1 row affected)

(return status = 0)

1> select id,name from master..syscharsets where id = 190

2> go

id  name

— ——————————

190 utf8



(1 row affected)

1>

至此,utf8字符集修改成功!


2.2用命令行工具调整字符集为utf8

检查当前ASE数据库中是否安装了utf8字符集?

select id,name from master..syscharsets

where name='utf8'

go

如果有返回结果,则证明ASE服务器已经安装了utf8字符集。utf8字符集的id一般为190。

如果未安装字符集utf8,则在cmd下执行:

cd /d %sybase%\charsets\utf8

charset -Usa -P -Swin2003server binary.srt utf8    (sa的密码为空,服务名称为:win2003server)

反馈信息如下:

C:\sybase\charsets\utf8>charset -Usa -P -Swin2003server binary.srt utf8

Loading file 'binary.srt'.

Found a [sortorder] section.

This is Class-1 sort order.

Finished loading the Character Set Definition.

Finished loading file 'binary.srt'.

1 sort order loaded successfully



再次检查当前ASE数据库中是否安装了utf8字符集?

select id,name from master..syscharsets

where name='utf8'

go

反馈信息如下:

1> select id,name from master..syscharsets

2> where name='utf8'

3> go

id  name

— ——————————

190 utf8



(1 row affected)

说明已经安装了utf8字符集。



配置默认字符集为:utf8

sp_configure “default character set id”,190

go



之后重启ASE数据库两次。



检验utf8字符集是否配置成功

1> sp_configure "default character set id"

2> go

Parameter Name                 Default              Memory Used

         Config Value         Run Value            Unit

         Type

—————————— ——————– ———–

         ——————– ——————– ——————–

         ———-

default character set id                 2                    0

                  190                  190         id

         static



(1 row affected)

(return status = 0)

1> select id,name from master..syscharsets where id = 190

2> go

id  name

— ——————————

190 utf8



(1 row affected)

1>

至此,utf8字符集修改成功!


3将数据库默认语言调整为中文

请确保在Sybase ASE15.0.3程序文件安装过程中,已经选择了“Chinese Language Module”模块。如果没有选择,可以重新执行安装程序,添加这个模块。




3.1用图形界面工具添加并设置中文为默认语言

菜单:开始>所有程序>Sybase>Adaptive Server Enterprise>Server Config



(或者:

cd /d %sybase%\%sybase_ase%\bin

syconfig



左边的产品列表选择Adaptive Server,点“配置Adaptive Server”按钮,选择要配置的服务器:WIN2003SERVER



输入sa的口令:





进入到配置Adaptive Server窗口



选择“语言”按钮,



可以看到当前缺省值中的语言为:us_english。点“语言”下面的“添加/删除”按钮,



在安装语言窗口中添加中文语言Chinese。点确定返回到语言选项窗口,点击“语言”下的“设置缺省值”按钮,



在更改缺省语言窗口中选择Chinese,点确定,返回到语言选项窗口,





点确定,再点保存按钮。进行安装语言的过程中,



这时候开始安装中文语言。安装过程会将sysmessages系统表中添加中文语言信息。

配置完成后返回到窗口。点退出则完成默认语言的配置。


3.2用命令行工具添加并设置中文为默认语言

在ASE服务器中安装中文语言:

cd /d %sybase%\%sybase_ase%\bin

langinst -Usa -P -Swin2003server chinese   (sa的密码为空,数据库服务名为:win2003server)

反馈信息为:

C:\sybase\ASE-15_0\bin>langinst -Usa -P -Swin2003server chinese

Loading datetime information from file C:\sybase/ASE-15_0/locales/chinese/common

.loc.

Loading system messages from file C:\sybase/ASE-15_0/locales/chinese/server.loc.



9075 Messages processed.

Loading complete.

Summary: 0 deleted, 8640 inserted, 0 updated, 435 duplicates,   0 unsuccessful.



用isql设定默认语言为中文:

在cmd下执行: isql  -Usa –P –Swin2003server –Jcp936 登录ASE数据库。



检查中文语言是否已经成功安装?

select langid,name from master..syslanguages

go

如果返回结果为1行,则说明中文语言已经成功安装了。



配置ASE数据库默认语言为中文:

sp_configure "default language id",1

go






3.3验证ASE默认语言为中文

用isql登录ASE,

isql –Usa –Jcp936           (当前数据库的字符集为utf8,客户端连接时需要使用cp936,否则中文会出现乱码)

select @@language

如果返回结果为:Chinese,则表示默认语言已经修改为中文了。


3.4修改登录账号的默认语言为中文

查看登录账号的默认语言:

sp_displaylogin sa

go

Suid: 1

登录名: sa

全名:

缺省数据库: master

缺省语言:

自动登录脚本:

已配置的特权:

        sa_role (default ON)

        sso_role (default ON)

        oper_role (default ON)

        sybase_ts_role (default ON)

        mon_role (default ON)

        js_admin_role (default ON)

被锁定: 否

最后口令改变日期: 十一月 27 2009 12

口令截止间隔: 0

口令到期: NO

最小口令长度: 6

登录失败次数的最大值: 0

当前已失败的登录次数:

请用 AUTH_DEFAULT 进行鉴定

登录口令加密:SHA-256

上一次登录日期:

(return status = 0)



修改登录的默认语言为中文:

sp_modifylogin sa,deflanguage,chinese

go



再次检验登录账号的默认语言:

1> sp_displaylogin sa

2> go

Suid: 1

登录名: sa

全名:

缺省数据库: master

缺省语言: chinese

自动登录脚本:

已配置的特权:

        sa_role (default ON)

        sso_role (default ON)

        oper_role (default ON)

        sybase_ts_role (default ON)

        mon_role (default ON)

        js_admin_role (default ON)

被锁定: 否

最后口令改变日期: 十一月 27 2009 12

口令截止间隔: 0

口令到期: NO

最小口令长度: 6

登录失败次数的最大值: 0

当前已失败的登录次数:

请用 AUTH_DEFAULT 进行鉴定

登录口令加密:SHA-256

上一次登录日期:

(return status = 0)


标签: utf8字符集
本文链接: http://www.dbainfo.net/sybase-ase-1503-character-set-utf8-chinese-language.htm
版权所有:本文为andkylee个人原创,请在尊重作者劳动成果的前提下进行转载;
转载务必注明原始出处:Sybase数据库技术,数据库恢复 http://www.dbainfo.net
共享共进共赢Sharing And Win-win Results
SYBASEBBS - 免责申明1、欢迎访问“SYBASEBBS.COM”,本文内容及相关资源来源于网络,版权归版权方所有!本站原创内容版权归本站所有,请勿转载!
2、本文内容仅代表作者观点,不代表本站立场,作者自负,本站资源仅供学习研究,请勿非法使用,否则后果自负!请下载后24小时内删除!
3、本文内容,包括但不限于源码、文字、图片等,仅供参考。本站不对其安全性,正确性等作出保证。但本站会尽量审核会员发表的内容。
4、如本帖侵犯到任何版权问题,请立即告知本站 ,本站将及时删除并致以最深的歉意!客服邮箱:admin@sybasebbs.com
您需要登录后才可以回帖 登录 | 站点注册

本版积分规则

免责声明:
本站所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:Admin@SybaseBbs.com

QQ|Archiver|PowerBuilder(PB)BBS社区 ( 鲁ICP备2021027222号-1 )

GMT+8, 2024-5-4 02:00 , Processed in 0.053406 second(s), 7 queries , MemCached On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表