ORACLE字符集問題

2021-04-12 15:40:56 字數 1369 閱讀 6103

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中選擇,預設值是al16utf16

5.可以查詢以下資料字典或檢視檢視資料庫字符集設定情況

nls_database_parameters、props$、v$nls_parameters

客戶端字符集(nls_lang引數)

windows

環境regedit.exe---hkey_local_machine---software---oracle—home0

格式:nls_language_nls_territory.nls_characterset

Oracle字符集問題

oracle字符集問題一般可以分為三類 資料庫字符集,sqlplus的字符集 客戶端字符集 終端程式的字符集 非oracle的 1 資料庫字符集。資料庫字符集是所有字元問題的核心,只有資料庫本身的字符集正確了,客戶端的字符集才可能正確。這裡只的客戶端包括sqlplus以及我們自己讀資料庫的應用程式。...

oracle 字符集 問題

q 怎麼樣檢視資料庫字符集 a 資料庫伺服器字符集select from nls database parameters,其 於props 是表示資料庫的字符集。客戶端字符集環境select from nls instance parameters,其 於v parameter,表示客戶端的字符集的...

oracle字符集問題

1.資料庫 oracle11g 初始字符集 american america.utf8 通過客戶端實現字符集修改 simplified chinese china.zhs16gbk 1 windows環境 修改登錄檔 regedit 開啟登錄檔 hkey local machine software...