1. ORACLE資料庫字元集,即國家語言支援(NLS)其作用是用本國語言和格式來儲存、處理和檢索資料。利用全球化支援,ORACLE為使用者提供自己熟悉的資料庫母語環境,諸如日期格式、數字格式和儲存序列等。Oracle可以支援多種語言及字元集,oracle9i則支援57種語言、88個國家地區、235種字元集。
2. 單位元組編碼
(1)單位元組7位字元集,可以定義128個字元,最常用的字元集為US7ASCII
(2)單位元組8位字元集,可以定義256個字元,適合於歐洲大部分國家
例如:WE8ISO8859P1(西歐、8位、ISO標準8859P1編碼)3. 多位元組編碼
(1)變長多位元組編碼
某些字元用一個位元組表示,其它字元用兩個或多個字元表示,變長多位元組編碼常用於對亞洲語言的支援, 例如日語、漢語、印地語等
例如:AL32UTF8(其中AL代表ALL,指適用於所有語言),UTF-8是unicode的8位編碼方式,這種編碼可以用1、2、3個位元組表示一個unicode字元
(2)定長多位元組編碼
每一個字元都使用固定長度位元組的編碼方案,目前oracle唯一支援的定長多位元組編碼是AL16UTF16,也是僅用於國家字元集 UTF-16是unicode的16位編碼方式,是一種定長多位元組編碼,用2個位元組表示一個unicode字元4. 在建立資料庫時,可以指定字元集(CHARACTER SET)和國家字元集(NATIONAL CHARACTER SET)。
2.4.1字元集
(1)用來儲存CHAR, VARCHAR2, CLOB, LONG等類型資料
(2)用來標示諸如表名、列名以及PL/SQL變數等
(3)用來儲存SQL和PL/SQL程式單元等
2.4.2國家字元集:
(1)用以儲存NCHAR, NVARCHAR2, NCLOB等類型資料
(2)國家字元集實質上是為oracle選擇的附加字元集,主要作用是為了增強oracle的字元處理能力,因為NCHAR資料類型可以提供對亞洲使用定長多位元組編碼的支援,而資料庫字元集則不能。國家字元集在oracle9i中進行了重新定義,只能在unicode編碼中的AL16UTF16和UTF8中選擇,預設值是AL16UTF165. 可以查詢以下資料字典或視圖查看資料庫字元集設定情況
nls_database_parameters、props$、v$nls_parameters
用戶端字元集(NLS_LANG參數)
Windows環境
Regedit.exe---HKEY_LOCAL_MACHINE---SOFTWARE---ORACLE—HOME0
格式:
NLS_LANGUAGE_NLS_TERRITORY.NLS_CHARACTERSET