国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

字符集問題的初步探討(二)

2024-07-21 02:07:42
字體:
來源:轉載
供稿:網友

字符集問題的初步探討(二)

--數據庫的字符集

saturday, 2004-09-11 11:38 eygle

 原文發表于itpub技術叢書《oracle數據庫dba專題技術精粹》,未經許可,嚴禁轉載本文.
原文鏈接:

http://www.eygle.com/special/nls_character_set_02.htm


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 cripts/init.ora";
create database eygle
maxinstances 1
maxloghistory 1
maxlogfiles 5
maxlogmembers 3
maxdatafiles 100
datafile 'e:/oracle/oradata/eygle ystem01.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碼是中華人民共和國國家漢字信息交換用編碼,全稱《信息交換用漢字編碼字符集--基本集》,由國家標準總局發布,
1981年5月1日實施,通行于大陸。新加坡等地也使用此編碼。
gbk編碼是1995年12月頒布的指導性規范。
gbk與國家標準 gb 2312-80 信息處理交換碼所對應的、事實上的內碼標準兼容;同時,在字匯一級支持 iso/iec 10646-1 和
gb 13000-1 的全部中日韓 (cjk) 漢字(20902字)。包含了更多的編碼。

但是我們說,zhs16gbk 并非是zhs16cgb231280的嚴格超集(雖然后者的漢字在前者中都存在,但是同樣的編碼在不同兩個
字符集中可能表達不同的漢字),所以在做數據庫字符轉換時仍然需要特別注意。

 

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


 

<language><bit size><encoding>
即: <語言> <比特位數><編碼>
比如: zhs · 16 ·gbk



需要說明的是,有些字符集命名違背了這個規范,oracle8/oralce8i中的utf-8是第一個打破這個命名規范的字符集。
我們可以看到一類字符集以 al開頭,如:
     al16utf16
其中 al代表 all,指適用于所有語言(all languages),按照這個標準當年utf-8本應被命名為al24utf8。

  • 本文來源于網頁設計愛好者web開發社區http://www.html.org.cn收集整理,歡迎訪問。
  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    主站蜘蛛池模板: 灵川县| 思南县| 峡江县| 上虞市| 读书| 环江| 东莞市| 奉节县| 沭阳县| 聂拉木县| 遂溪县| 搜索| 牙克石市| 新密市| 晴隆县| 柞水县| 丹寨县| 铜梁县| 调兵山市| 四会市| 兴山县| 宁陵县| 吉木乃县| 涿鹿县| 平湖市| 庄河市| 垫江县| 区。| 铁岭市| 博爱县| 阿拉善左旗| 德钦县| 太和县| 南阳市| 紫金县| 浦县| 遵化市| 仪陇县| 延吉市| 克什克腾旗| 杂多县|