五分鐘學(xué)會Oracle數(shù)據(jù)庫字符集
Oracle有很多值得學(xué)習(xí)的地方,這里我們主要介紹Oracle數(shù)據(jù)庫字符集,包括介紹國家字符集等方面。Oracle數(shù)據(jù)庫字符集,即國家語言支持(NLS)其作用是用本國語言和格式來存儲、處理和檢索數(shù)據(jù)。利用全球化支持,Oracle為用戶提供自己熟悉的數(shù)據(jù)庫母語環(huán)境,諸如日期格式、數(shù)字格式和存儲序列等。Oracle可以支持多種語言及字符集,Oracle9i則支持57種語言、88個國家地域、235種字符集。
單字節(jié)編碼
1.單字節(jié)7位字符集,可以定義128個字符,最常用的字符集為US7ASCII
2.單字節(jié)8位字符集,可以定義256個字符,適合于歐洲大部分國家
例如:WE8ISO8859P1(西歐、8位、ISO標(biāo)準(zhǔn)8859P1編碼)
多字節(jié)編碼
1.變長多字節(jié)編碼
某些字符用一個字節(jié)表示,其它字符用兩個或多個字符表示,變長多字節(jié)編碼常用于對亞洲語言的支持, 例如日語、漢語、印地語等。例如:AL32UTF8(其中AL代表ALL,指適用于所有語言),UTF-8是unicode的8位編碼方式,這種編碼可以用1、2、3個字節(jié)表示一個unicode字符
2.定長多字節(jié)編碼
每一個字符都使用固定長度字節(jié)的編碼方案,目前Oracle數(shù)據(jù)庫字符集***支持的定長多字節(jié)編碼是AL16UTF16,也是僅用于國家字符集 UTF-16是unicode的16位編碼方式,是一種定長多字節(jié)編碼,用2個字節(jié)表示一個unicode字符
在創(chuàng)建數(shù)據(jù)庫時,可以指定字符集(CHARACTER SET)和國家字符集(NATIONAL CHARACTER SET)。
字符集
(1)用來存儲CHAR,VARCHAR2,CLOB,LONG等類型數(shù)據(jù)
(2)用來標(biāo)示諸如表名、列名以及PL/SQL變量等
(3)用來存儲SQL和PL/SQL程序單元等
國家字符集
(1)用以存儲NCHAR,NVARCHAR2,NCLOB等類型數(shù)據(jù)
(2)國家字符集實質(zhì)上是為Oracle選擇的附加字符集,主要作用是為了增強(qiáng)Oracle的字符處理能力,因為NCHAR數(shù)據(jù)類型可以提供對亞洲使用定長多字節(jié)編碼的支持,而Oracle數(shù)據(jù)庫字符集則不能。國家字
符集在Oracle9i中進(jìn)行了重新定義,只能在unicode編碼中的AL16UTF16和UTF8 中選擇,默認(rèn)值是AL16UTF16
【編輯推薦】