日期:2014-05-17  浏览次数:21794 次

oracle 9i 为什么数据库字符集不能设置为AL16UTF16
系统 winxp 简体中文版  

安装时默认 数据库字符集是  ZHS16GBK 但是我想存入韩文等小语种 所以更改为AL16UTF16 
结果 创建数据库时 报错 ora-12706 忽略后又报错 无法安装 

当 改为 数据库字符集:ZHS16GBK
国家字符集:AL16UTF16
时可以正常安装    为什么数据库字符集不能设置为AL16UTF16

------解决方案--------------------
数据库字符集除了要用于保存数据,还要用于保存数据字典,如表名、索引名称等。因此,oracle 要求一个能兼容 7 bit ASCII 字符的字符集做数据库字符集,而 AL16UTF16 的最短单字符为双字节字符,即 16 bit,不符合数据库字符集的要求,所以不能用,但可以用作 national 字符集。
------解决方案--------------------
The database character set is used to identify SQL and PL/SQL source code. In order
to do this, it must have either EBCDIC or 7-bit ASCII as a subset, whichever is native
to the platform. Therefore, it is not possible to use a fixed-width, multibyte character set as the database character set. Currently, only the AL16UTF16 character set cannot be used as a database character set.

目前只有 AL16UTF16 不能用作数据库字符集

摘自 oracle 官方文档