

# RDS for Oracle 字符集
<a name="Appendix.OracleCharacterSets"></a>

RDS for Oracle 支持两种类型的字符集：数据库字符集和国家/地区字符集。

## 数据库字符集
<a name="Appendix.OracleCharacterSets.db-character-set"></a>

Oracle 数据库字符集用于 `CHAR`、`VARCHAR2` 和 `CLOB` 数据类型中。数据库还将此字符集用于元数据，如表名、列名和 SQL 语句。Oracle 数据库字符集通常称为数据库字符集。

您可以在创建数据库实例时设置该字符集。创建数据库后，无法更改数据库字符集。

### 支持的数据库字符集
<a name="Appendix.OracleCharacterSets.db-character-set.supported"></a>

下表列出了 Amazon RDS 中支持的 Oracle 数据库字符集。您可结合使用本表中的值和 AWS CLI [create-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html) 命令的 `--character-set-name` 参数，或 Amazon RDS API [CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) 操作的 `CharacterSetName` 参数。

**注意**  
CDB 的字符集始终是 AL32UTF8。您只能为 PDB 设置不同的字符集。


****  

| 值 | 描述 | 
| --- | --- | 
|  AL32UTF8  |  Unicode 5.0 UTF-8 通用字符集 (默认)  | 
|  AR8ISO8859P6  |  ISO 8859-6 拉丁语/阿拉伯语  | 
|  AR8MSWIN1256  |  Microsoft Windows 代码页 1256 8 位拉丁语/阿拉伯语  | 
|  BLT8ISO8859P13  |  ISO 8859-13 波罗的海文  | 
|  BLT8MSWIN1257  |  Microsoft Windows 代码页 1257 8 位波罗的海文  | 
|  CL8ISO8859P5  |  ISO 88559-5 拉丁语/西里尔语  | 
|  CL8MSWIN1251  |  Microsoft Windows 代码页 1251 8 位拉丁语/西里尔语  | 
|  EE8ISO8859P2  |  ISO 8859-2 东欧国家语言  | 
|  EL8ISO8859P7  |  ISO 8859-7 拉丁语/希腊语  | 
|  EE8MSWIN1250  |  Microsoft Windows 代码页 1250 8 位东欧国家语言  | 
|  EL8MSWIN1253  |  Microsoft Windows 代码页 1253 8 位拉丁语/希腊语  | 
|  IW8ISO8859P8  |  ISO 8859-8 拉丁语/希伯来语  | 
|  IW8MSWIN1255  |  Microsoft Windows 代码页 1255 8 位拉丁语/希伯来语  | 
|  JA16EUC  |  EUC 24 位日语  | 
|  JA16EUCTILDE  |  除波浪短划线和波形符至 Unicode 及来自 Unicode 的映射外，与 JA16EUC 相同  | 
|  JA16SJIS  |  Shift-JIS 16 位日语  | 
|  JA16SJISTILDE  |  除波浪短划线和波形符至 Unicode 及来自 Unicode 的映射外，与 JA16SJIS 相同  | 
|  KO16MSWIN949  |  Microsoft Windows 代码页 949 韩语  | 
|  NE8ISO8859P10  |  ISO 8859-10 北欧国家语言  | 
|  NEE8ISO8859P4  |  ISO 8859-4 北欧和东北欧国家语言  | 
|  TH8TISASCII  |  泰国工业标准 620-2533-ASCII 8 位  | 
|  TR8MSWIN1254  |  Microsoft Windows 代码页 1254 8 位土耳其语  | 
|  US7ASCII  |  ASCII 7 位美国英语  | 
|  UTF8  |  Unicode 3.0 UTF-8 通用字符集 (符合 CESU-8 标准)  | 
|  VN8MSWIN1258  |  Microsoft Windows 代码页 1258 8 位越南语  | 
|  WE8ISO8859P1  |  西欧 8 位 ISO 8859 第 1 部分  | 
|  WE8ISO8859P15  |  ISO 8859-15 西欧国家语言  | 
|  WE8ISO8859P9  |  ISO 8859-9 西欧国家语言和土耳其语  | 
|  WE8MSWIN1252  |  Microsoft Windows 代码页 1252 8 位西欧国家语言  | 
|  ZHS16GBK  |  GBK 16 位简体中文  | 
|  ZHT16HKSCS  |  Microsoft Windows 代码页 950，香港附属字符集 HKSCS-2001。字符集转换基于 3.0。  | 
|  ZHT16MSWIN950  |  Microsoft Windows 代码页 950 繁体中文  | 
|  ZHT32EUC  |  EUC 32 位繁体中文  | 

### NLS\$1LANG 环境变量
<a name="Appendix.OracleCharacterSets.db-character-set.nls_lang"></a>

区域设置 是一组满足语言和文化要求的信息，这些信息对应于给定的语言和国家/地区。在客户端环境中设置 NLS\$1LANG 环境变量，是为 Oracle 指定区域设置行为最简单的方法。该变量可设置客户端应用程序和数据库服务器所使用的语言和地区。它还指示客户端字符集，该字符集对应于客户端应用程序输入或显示的数据的字符集。有关 NLS\$1LANG 和字符集的更多信息，请参阅 Oracle 文档中的[什么是字符集或代码页？](http://www.oracle.com/technetwork/database/database-technologies/globalization/nls-lang-099431.html#_Toc110410570)。

### NLS 初始化参数
<a name="Appendix.OracleCharacterSets.db-character-set.nls_parameters"></a>

您还可在 Amazon RDS 中为 Oracle 数据库实例设置实例级别的以下区域语言支持 (NLS) 初始化参数：
+ NLS\$1COMP
+ NLS\$1DATE\$1FORMAT
+ NLS\$1LENGTH\$1SEMANTICS
+ NLS\$1NCHAR\$1CONV\$1EXCP
+ NLS\$1SORT
+ NLS\$1TIME\$1FORMAT
+ NLS\$1TIME\$1TZ\$1FORMAT
+ NLS\$1TIMESTAMP\$1FORMAT
+ NLS\$1TIMESTAMP\$1TZ\$1FORMAT

有关修改实例参数的信息，请参阅[Amazon RDS 的参数组](USER_WorkingWithParamGroups.md)。

您可以在 SQL 客户端中设置其他 NLS 初始化参数。例如，以下语句在连接到 Oracle 数据库实例的 SQL 客户端中将 NLS\$1LANGUAGE 初始化参数设置为 GERMAN：

```
ALTER SESSION SET NLS_LANGUAGE=GERMAN;
```

有关使用 SQL 客户端连接到 Oracle 数据库实例的信息，请参阅[连接到 Oracle 数据库实例](USER_ConnectToOracleInstance.md)。

## 国家/地区字符集
<a name="Appendix.OracleCharacterSets.nchar-character-set"></a>

国家/地区字符集用于 `NCHAR`、`NVARCHAR2` 和 `NCLOB` 数据类型中。国家/地区字符集通常称为 NCHAR 字符集。与数据库字符集不同，NCHAR 字符集不影响数据库元数据。

NCHAR 字符集支持以下字符集：
+ AL16UTF16（默认值）
+ UTF8

您可以使用 [create-db-instance](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/rds/create-db-instance.html) 命令的 `--nchar-character-set-name` 参数指定值（仅 AWS CLI 版本 2）。如果您使用 Amazon RDS API，请指定 [CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) 操作的 `NcharCharacterSetName` 参数。创建数据库后，无法更改国家/地区字符集。

有关 Oracle 数据库中 Unicode 的更多信息，请参阅 Oracle 文档中的[使用 Unicode 支持多语言数据库](https://docs.oracle.com/en/database/oracle/oracle-database/19/nlspg/supporting-multilingual-databases-with-unicode.html)。