• Sybase配置中文语言支持及字符集


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

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

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

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

    查看当前数据库的默认字符集:

    执行:

    sp_configure "default character set id"

    go

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

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

    go

    查看到当前字符集为:cp850

    将字符集由cp850或者iso_1调整为utf8有2中方法:图形界面工具和命令行工具。

    1、图形界面配置字符集

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

    选择配置Adaptive Server-之后输入sa用户名和密码

    在配置字符集为utf8过程中ASE服务会重启两次。有出现配置完成后,ASE主服务无法启动失败的情况,重启机器就行。

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

    在cmd下执行: isql –Usa –P –SRUSKYPC –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、用命令行工具调整字符集为utf8

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

    select id,name from master..syscharsets

    where name='utf8'

    go

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

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

    cd /d %sybase%charsetsutf8

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

    反馈信息如下:

    C:sybasecharsetsutf8>charset -Usa -P -SRUSKYPC 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字符集修改成功!

    ============

    修改数据库默认语言:

    图形界面同上。

    命令行界面操作如下:

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

    cd /d %sybase%\%sybase_ase%in

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

    反馈信息为:

    C:sybaseASE-15_0in>langinst -Usa -P -SRUSKYPC chinese

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

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

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

    select langid,name from master..syslanguages

    go

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

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

    sp_configure "default language id",1

    go

    验证ASE默认语言为中文

    用isql登录ASE,

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

    select @@language

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

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

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

    sp_displaylogin sa

    go

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

    sp_modifylogin sa,deflanguage,chinese

    go

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

    1> sp_displaylogin sa

    2> go

  • 相关阅读:
    进制
    流程控制
    运算符
    格式化输出
    数据结构-树的遍历
    A1004 Counting Leaves (30分)
    A1106 Lowest Price in Supply Chain (25分)
    A1094 The Largest Generation (25分)
    A1090 Highest Price in Supply Chain (25分)
    A1079 Total Sales of Supply Chain (25分)
  • 原文地址:https://www.cnblogs.com/rusking/p/4409272.html
Copyright © 2020-2023  润新知