zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    阿里云重磅发布DMS数据库实验室 免费体验数据库引擎
    阿里云移动端播放器高级功能---直播时移
    图解SQL的inner join、left join、right join、full outer join、union、union all的区别
    索引覆盖分析
    case when 性能优化
    Eclipse断点种类
    Eclipse高效率开发技巧
    VS Code编辑器
    正则表达式
    JDBC编程之预编译SQL与防注入式攻击以及PreparedStatement的使用教程
  • 原文地址:https://www.cnblogs.com/rusking/p/4409272.html
Copyright © 2011-2022 走看看