---
title: "字符集 - OceanBase 数据库 V4.6.0 | OceanBase 文档中心"
description: 字符集 OceanBase 数据库默认的字符集是 utf8mb4 。 OceanBase 数据库目前支持如下字符集： binary gbk gb18030 utf16 utf8mb4 / utf8mb3 说明 为支持无缝迁移，OceanBase 数据库在语法上将 UTF8 视为 UTF8MB4 的同义词。 utf8m…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.6.0

# 字符集

更新时间：2026-07-04 08:57:27

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.6.0/zh-CN/700.reference/500.sql-reference/100.sql-syntax/200.common-tenant-of-mysql-mode/100.basic-elements-of-mysql-mode/300.character-set-and-collation-of-mysql-mode/200.character-set-of-mysql-mode.md)  

OceanBase 数据库默认的字符集是 `utf8mb4`。

OceanBase 数据库目前支持如下字符集：

- `binary`
 - `gbk`
 - `gb18030`
 - `utf16`
 - `utf8mb4`/`utf8mb3`

  #### 说明

     - 为支持无缝迁移，OceanBase 数据库在语法上将 `UTF8` 视为 `UTF8MB4` 的同义词。
     - `utf8mb3` 是 `utf8mb4` 的别名。
 - `latin1`
 - `gb2312`
 - `gb18030_2022`
 - `ascii`
 - `tis620`
 - `ujis`
 - `euckr`
 - `eucjpms`
 - `cp932`
 - `utf16le`
 - `sjis`
 - `dec8`
 - `hkscs`
 - `hkscs31`
 - `big5`
 - `cp850`
 - `hp8`
 - `macroman`
 - `swe7`

#### 说明

对于 OceanBase 数据库 V4.3.5 版本，从 V4.3.5 BP1 版本开始支持字符集：`gb2312`、`ujis`、`euckr`、`eucjpms`、`cp932`、`cp850`、`hp8`、`macroman` 和 `swe7`。

OceanBase 数据库当前版本不支持 `gb18030` 与 `gb18030_2022` 的隐式转换，但用户可以通过 `CONVERT` 将一个 `gb18030` 的字符串的字符集显式转换为 `gb18030_2022`。该转换没有经过 Unicode，采取了保留编码的方法。如下示例中，‘龴’ 的编码在转换前后都为 `0xFE59`，没有发生变化。

```shell
obclient [(none)]> SELECT HEX(CONVERT(_gb18030 0xFE59 USING gb18030_2022)), HEX(CONVERT(_gb18030_2022 0xFE59 USING gb18030));

```

返回结果如下：

```shell
+--------------------------------------------------+--------------------------------------------------+
| HEX(CONVERT(_gb18030 0xFE59 USING gb18030_2022)) | HEX(CONVERT(_gb18030_2022 0xFE59 USING gb18030)) |
+--------------------------------------------------+--------------------------------------------------+
| FE59                                             | FE59                                             |
+--------------------------------------------------+--------------------------------------------------+
1 row in set

```

## 查看可用的字符集

请使用如下 `SHOW CHARSET` 语句查看可用的字符集。

```shell
obclient [(none)]> SHOW CHARSET;

```

返回结果如下：

```shell
+--------------+---------------------------+-------------------------+--------+
| Charset      | Description               | Default collation       | Maxlen |
+--------------+---------------------------+-------------------------+--------+
| binary       | Binary pseudo charset     | binary                  |      1 |
| utf8mb4      | UTF-8 Unicode             | utf8mb4_general_ci      |      4 |
| gbk          | GBK charset               | gbk_chinese_ci          |      2 |
| utf16        | UTF-16 Unicode            | utf16_general_ci        |      4 |
| gb18030      | GB18030 charset           | gb18030_chinese_ci      |      4 |
| latin1       | cp1252 West European      | latin1_swedish_ci       |      1 |
| gb2312       | GB2312 Simplified Chinese | gb2312_chinese_ci       |      2 |
| gb18030_2022 | GB18030-2022 charset      | gb18030_2022_chinese_ci |      4 |
| ascii        | US ASCII                  | ascii_general_ci        |      1 |
| tis620       | TIS620 Thai               | tis620_thai_ci          |      1 |
| ujis         | EUC-JP Japanese           | ujis_japanese_ci        |      3 |
| euckr        | EUC-KR Korean             | euckr_korean_ci         |      2 |
| eucjpms      | UJIS for Windows Japanese | eucjpms_japanese_ci     |      3 |
| cp932        | SJIS for Windows Japanese | cp932_japanese_ci       |      2 |
| utf16le      | UTF-16LE Unicode          | utf16le_general_ci      |      4 |
| sjis         | SJIS                      | sjis_japanese_ci        |      2 |
| big5         | BIG5                      | big5_chinese_ci         |      2 |
| hkscs        | HKSCS                     | hkscs_bin               |      2 |
| hkscs31      | HKSCS-ISO UNICODE 31      | hkscs31_bin             |      2 |
| dec8         | DEC West European         | dec8_swedish_ci         |      1 |
| cp850        | DOS West European         | cp850_general_ci        |      1 |
| hp8          | HP West European          | hp8_english_ci          |      1 |
| macroman     | Mac West European         | macroman_general_ci     |      1 |
| swe7         | 7bit West European        | swe7_swedish_ci         |      1 |
+--------------+---------------------------+-------------------------+--------+
24 rows in set

```

## 指定非默认字符集

OceanBase 数据库支持指定非默认字符集与服务器通信。例如，要使用 `gbk` 字符集，在连接到服务器后执行以下语句：

```sql
SET NAMES gbk;

```

需要注意的是，`SET NAMES` 语句不会更改客户端输入字符的编码。例如，使用 `SET NAMES` 配置客户端编码为 `gb18030_2022` 的前提是客户端已经使用了 `gb18030_2022` 编码，否则会导致乱码出现。

```shell
/* 客户端使用 utf8mb4 字符集并创建了默认为 utf8mb4 字符集的表 t */
obclient> CREATE TABLE t(c VARCHAR(100));
Query OK, 0 rows affected

/* 插入了 utf8mb4 编码的字符 */
obclient> INSERT INTO t VALUES ('字符集');
Query OK, 1 row affected

/* 修改了当前会话的字符集，但没有改变客户端实际使用的字符集 */
obclient> SET NAMES gb18030_2022;
Query OK, 0 rows affected

/* 仍然使用 utf8mb4 编码插入字符 */
obclient> INSERT INTO t VALUES ('字符集');
Query OK, 1 row affected

/* 查询表 t 的数据出现乱码 */
obclient> SELECT * FROM t;
+----------+
| c        |
+----------+
| �ַ���      |
| 字符�     |
+----------+
2 rows in set

/* 修改当前会话的字符集为 utf8mb4 */
obclient> SET NAMES utf8mb4;
Query OK, 0 rows affected

/* 再次查询表 t 的数据，第二次插入的字符仍为乱码 */
obclient> SELECT * FROM t;
+--------------+
| c            |
+--------------+
| 字符集       |
| 瀛楃闆      |
+--------------+
2 rows in set

```

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
