Oracle OCP培训实战教程_Oracle数据库管理维护与备份恢复之18_ORACLE字符集管理
Oracle OCP培训实战教程_Oracle数据库管理维护与备份恢复之18_ORACLE对字符集的支持
ORACLE 对字符集的支持
1、ORACLE的字符分类
ORACLE的字符集分为 3 个级别:DATABASE 级,INSTANCE级(OS 级),SESSION级。
� DATABASE级: DATABASE级字符集在数据库创建的时候指定,指定之后不能轻易修改 。
一旦修改时,需要对数据库做好备份,另外修改后新的字符集必须是原字符集的超集。
� INSTANCE级:依赖于 OS,可通过OS 的环境变量来设置修改。
� SESSION级 :也依赖于 OS,可以通过 alter session语句来改变。
这三个级别的字符集设置的优先级顺序如下:
SESSION级 -> INSTANCE级 -> DATABASE级
2、ORACLE支持多种不同的编码模式
1、ORACLE支持多种不同的编码模式
556
� 单字节字符集
单字节字符集有 7位和 8 位两种编码。每个字符占用一个字节。7 位能表示 128个不同
的字符,8位能表示 256个不同的字符。
7位单字节字符集如:ASCII 7-bit American (US7ASCII)
8位单字节字符集如:
• ISO 8859-1 West European (WE8ISO8859P1)
• EBCDIC Code Page 500 8-bit West European (WE8EBCDIC500)
• DEC 8-bit West European (WE8DEC)
� 可变宽度的多字节字符集
多个字节组成一个字符。这样的字符集如:
• Japanese Extended UNIX Code (JEUC)
• Chinese GB2312-80 (CGB2312-80)
• AL32UTF8 (UTF-8)
� 固定宽度的多字节字符集
只有固定宽度的多字节字符集支持国际字符集 AL16UTF16
字符集举例:AL16UTF16, 16-bit Unicode (fixed width 2-byte Unicode)
� UNICODE字符集(AL32UTF8,AL16UTF16,UTF8)
UNICODE字符集是计算机的通用字符集,它有两种编码模式,UTF-16 和 UTF-8。
UTF-16是 16位编码,是固定长度的多字节编码。用 2 个字节表示一个 UNICODE字符 ,
欧洲和亚洲的脚本都使用 2 个字节表示一个字符。
UTF-8是 8 位编码,是长度可变的多字节编码。可以用 1 个、2 个或者 3 个字节表示一
个 UNICODE 字符,欧洲使用 1 个字节表示一个字符,亚洲使用3 个字节表示一个字符。
AL32UTF8, UTF8, 和 UTFE 是 UTF-8 字符集,AL16UTF16 是 UTF-16 字符集。 在 ORACLE
中,AL32UTF8, UTF8, 和 UTFE 可以作为数据库字符集,AL16UTF16 和 UTF8 可以作为
国际字符集。ORACLE缺省使用 AL16UTF16字符集。