问题描述
我正在使用Sybase ASE数据库,想了解数据库所使用的字符编码(UTF8或ASCII或其他)。
解决方法
您要查找的命令实际上是系统存储过程:
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
定义的数据服务器中)。