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