【问题标题】:Sybase ASE: show the character encoding used by the databaseSybase ASE:显示数据库使用的字符编码
【发布时间】:2021-01-29 15:57:07
【问题描述】:

我正在使用 Sybase ASE 数据库,想知道数据库使用的字符编码(UTF8 或 ASCII 或其他)。

显示数据库使用哪种字符编码的命令是什么?

【问题讨论】:

    标签: character-encoding sybase database-administration sap-ase


    【解决方案1】:

    有一个查询:

    select
    cs.name as server_character_set,
    cs.description as character_set_description
    from
    master..syscharsets cs left outer join
    master..sysconfigures cfg on
        cs.id = cfg.value
    where
    cfg.config = 131
    

    示例输出:

    server_character_set    character_set_description
    utf8    Unicode 3.1 UTF-8 Character Set
    

    【讨论】:

      【解决方案2】:

      您要查找的命令实际上是一个系统存储过程:

      1> sp_helpsort
      2> go
      ... snip ...
      Sort Order Description
       ------------------------------------------------------------------
       Character Set = 190, utf8
           Unicode 3.1 UTF-8 Character Set
           Class 2 Character Set
       Sort Order = 50, bin_utf8
           Binary sort order for the ISO 10646-1, UTF-8 multibyte encodin
           g character set (utf8).
      ... snip ...
      

      从这个输出我们看到这个特定的 ASE 数据服务器已经配置了默认字符集utf8 和默认排序顺序binary (bin_utf8)。这意味着所有数据都存储为utf8,并且所有索引/排序操作都使用binary 排序顺序执行。

      请记住,ASE 可以根据客户端的字符集配置执行字符集转换(用于读取和写入)。尽管所述转换的成功与否取决于所讨论的字符集(例如,与utf8 连接的客户端可能会发现许多字符无法转换以存储在使用默认字符集iso_1 定义的数据服务器中)。

      【讨论】:

        猜你喜欢
        • 2021-04-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-07-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多