oracle 資料庫的字符集(2)

2021-04-27 23:41:36 字數 2521 閱讀 2586

2. 資料庫的字符集

字符集在建立資料庫時指定,在建立後通常不能更改,所以在建立資料庫時能否選擇乙個正確的字符集就顯得尤為重要。

在建立資料庫時,我們可以指定字符集(character set)和國家字符集(national character set)。

字符集用來儲存:

char, varchar2, clob, long等型別資料

用來標示諸如表名、列名以及pl/sql變數等

sql和pl/sql程式單元等

國家字符集用以儲存:

nchar, nvarchar2, nclob等型別資料

這些設定在資料庫建立時指定,我們可以看一下資料庫的建立指令碼:

connect sys/change_on_install as sysdba

set echo on

spool e:/oracle/ora92/assistants/dbca/logs/createdb.log

startup nomount pfile="e:/oracle/admin/eygle/scripts/init.ora";

create database eygle

maxinstances 1

maxloghistory 1

maxlogfiles 5

maxlogmembers 3

maxdatafiles 100

datafile 'e:/oracle/oradata/eygle/system01.dbf' size 250m reuse autoextend on next 10240k maxsize unlimited

extent management local

default temporary tablespace temp tempfile 'e:/oracle/oradata/eygle/temp01.dbf' size 40m reuse autoextend

on next 640k maxsize unlimited

undo tablespace "undotbs1" datafile 'e:/oracle/oradata/eygle/undotbs01.dbf' size 50m reuse autoextend

on next 5120k maxsize unlimited

character set zhs16gbk

national character set al16utf16

logfile group 1 ('e:/oracle/oradata/eygle/redo01.log') size 10m,

group 2 ('e:/oracle/oradata/eygle/redo02.log') size 10m,

group 3 ('e:/oracle/oradata/eygle/redo03.log') size 10m;

spool off

exit;

以上用粗體顯示的就是對我們至關重要的字符集設定。

在建立資料庫的過程中,在以下介面選擇你的字符集,對於簡體中文平台,預設的字符集是:zhs16gbk

一旦你的字符集選定了,資料庫中能夠儲存的字元就受到了限制,所以你選擇的字符集的應該可以容納所有你將用到字元。

常見的中文字符集有:

zhs16cgb231280  cgb2312-80  16-bit simplified chinese mb, ascii

zhs16gbk gbk 16-bit simplified chinese mb, ascii, udc

其中gb2312碼是中華人民共和國國家漢字資訊交換用編碼,全稱《資訊交換用漢字編碼字符集--基本集》,由國家標準總局發布,

2023年5月1日實施,通行於大陸。新加坡等地也使用此編碼。

gbk編碼是2023年12月頒布的指導性規範。

gbk與國家標準 gb 2312-80 資訊處理交換碼所對應的、事實上的內碼標準相容;同時,在字彙一級支援 iso/iec 10646-1 和

gb 13000-1 的全部中日韓 (cjk) 漢字(20902字)。包含了更多的編碼。

但是我們說,zhs16gbk 並非是zhs16cgb231280的嚴格超集(雖然後者的漢字在前者中都存在,但是同樣的編碼在不同兩個

字符集中可能表達不同的漢字),所以在做資料庫字元轉換時仍然需要特別注意。

oracle的字符集命名遵循以下命名規則:

即: 《語言》 《位元位數》《編碼》

比如: zhs · 16 ·gbk

需要說明的是,有些字符集命名違背了這個規範,oracle8/oralce8i中的utf-8是第乙個打破這個命名規範的字符集。

我們可以看到一類字符集以 al開頭,如:

al16utf16

其中 al代表 all,指適用於所有語言(all languages),按照這個標準當年utf-8本應被命名為al24utf8。

理解ORACLE資料庫字符集 2

三 匯入 匯出與字符集轉換 3.1 exp imp export 和 import 是一對讀寫oracle資料的工具。export 將 oracle 資料庫中的資料輸出到作業系統檔案中,import 把這些檔案中的資料讀到oracle 資料庫中,由於使用exp imp進行資料遷移時,資料從源資料庫到...

oracle 資料庫字符集

oracle全球支援 即globalization support 允許我們使用本地語言和格式來儲存和檢索資料。通過全球支援,oracle可以支援多種語言及字符集,得以展示資料庫的強大魅力。1 字符集的基本知識 如果從頭說起,字符集最早的編碼方案來自於與ascii.這也是我們最常見的編碼方式。該方案...

oracle資料庫字符集

一 什麼是oracle字符集 oracle字符集是乙個位元組資料的解釋的符號集合,有大小之分,有相互的包容關係。oracle 支援國家語言的體系結構允許你使用本地化語言來儲存,處理,檢索資料。它使資料庫工具,錯誤訊息,排序次序,日期,時間,貨幣,數字,和日曆自動適應本地化語言和平台。影響oracle...