Skip to content

适用虚谷数据库版本

v12.10.8



适用虚谷数据库版本

v12.10.8


默认新建库和会话字符集(def_charset)

📄字数 723
👁️阅读量 加载中...

引入版本

v11.0.0

功能描述

新建用户库和新建连接时使用的默认字符集。

参数属性

属性属性值
参数类型VARCHAR
默认值GBK
取值范围{UTF8,GBK,GB18030,BINARY}
影响范围系统级
修改方式在线修改,立即生效

使用场景说明

  1. 该参数作为新建用户库和新建连接时使用的默认字符集(未显式指定 CHAR_SET 会话参数时)。
  2. 系统在对字符类数据进行处理时会涉及字符集转换,涉及的场景主要有:
涉及字符集转换的应用场景
1. 统计分析,记录表中各个字段的统计分析信息时(最大值、最小值、重复度和离散度),用户库字符集向系统库字符集转换;
2. 流式导入,连接字符集向库字符集转换;
3. 备份恢复,均采用库字符集进行处理;
4. 词法解析,处理标识符时,连接字符集向系统字符集(UTF8)转换;处理字符串常量时,连接字符集向库字符集转换;
5. 动态 SQL 传参,处理参数名时,连接字符集向系统字符集(UTF8)转换;处理参数值时,连接字符集向库字符集转换;
6. 结果集返回,处理字段描述信息时,系统字符集(UTF8)向连接字符集转换;处理数据内容时,库字符集向连接字符集转换。

注意

  1. 客户端在发送 SQL 请求时务必保证连接上配置的字符集与客户端一致,否则可能出现字符集转换事故。

示例

sql
-- 在线修改 def_charset
SQL> SET def_charset TO GBK;

-- 在线查看 def_charset
SQL> SHOW def_charset;

/*
 * 场景一:
 *   1. def_charset = gbk;
 */
SQL> CREATE DATABASE db;
SQL> SELECT char_set FROM sysdba.sys_databases where db_name='db'; -- 输出 'GBK';