GaussDB 数据库字符编码与兼容模式

发布于:2025-07-17 ⋅ 阅读:(17) ⋅ 点赞:(0)

一、问题现象

       华为云GaussDB数据库兼容4种数据库类型,在创建数据库之前要确认清楚兼容数据库的类型与字符编码。比如在mysql5.7以上支持insert on duplicate key update SQL语法,若在GaussDB集中式环境创建数据库时默认为O数据库,针对O类型数据库不支持上面mysql5.7 SQL语法,执行时会产生SQL错误,这篇技术文章为了详细说明GaussDB支持的兼容数据库与字符编码。

二、技术背景

GaussDB创建一个新的数据库。缺省情况下新数据库将通过复制标准系统数据库template0来创建,且仅支持使用template0来创建。

场景1:集中式创建库语法:

CREATE DATABASE database_name
    [ [ WITH ] { [ OWNER [=] user_name ] |
               [ TEMPLATE [=] template ] |
               [ ENCODING [=] 'encoding' ] |
               [ LC_COLLATE [=] 'lc_collate' ] |
               [ LC_CTYPE [=] 'lc_ctype' ] |
               [ DBCOMPATIBILITY [=] 'compatibilty_type' ] |
               [ TABLESPACE [=] tablespace_name ] |
               [ CONNECTION LIMIT [=] connlimit ] |
               [ DBTIMEZONE [=] 'time_zone' ]}[...] ];

ENCODING参数为可选,指定数据库使用的字符编码,可以是字符串(如'SQL_ASCII')、整数编号。不指定时,默认使用模版数据库的编码。模板数据库template0和template1的编码默认与操作系统环境相关。template1不允许修改字符编码,因此若要变更编码,请使用template0创建数据库。常用取值:GBK、UTF8、Latin1、GB18030等,具体支持的字符集如下。

名称

描述

语言

是否服务器端?

ICU(International Components for Unicode)?

字节/字符

别名

BIG5

Big Five

繁体中文

1-2

WIN950, Windows950

EUC_CN

扩展UNIX编码-中国

简体中文

1-3

-

EUC_JP

扩展UNIX编码-日本

日文

1-3

-

EUC_JIS_2004

扩展UNIX编码-日本, JIS X 0213

日文

1-3

-

EUC_KR

扩展UNIX编码-韩国

韩文

1-3

-

EUC_TW

扩展UNIX编码-中国台湾

繁体中文

1-3

-

GB18030


网站公告

今日签到

点亮在社区的每一天
去签到