成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Oracle字符集由那些部分組成

數據庫 Oracle
以下的文章主要是對Oracle字符集的實際應用的解析,如果你對這一技術,心存好奇的話,以下的文章將會揭開它的神秘面紗。

我們都知道Oracle字符集有N多種,最初我們應用比較廣泛的字符集是ASCII,但是因為ASCII所支持的相關字符是很有限的,因此又相繼出現了很多的編碼方案,這些編碼方案大部分都是包括了ASCII的。EBCDIC編碼是另一個比較基本的編碼,它的部分字符采用了和ASCII不同的編碼值,因此兩者是不兼容的基本編碼方案。

采用EBCDIC編碼的比較少,目前主要是IBM 的系統采用,如AS400及S390系統,大部分的系統都是基于ASCII編碼的。

 

由于亞洲國家的Oracle字符集相對復雜一些,因此一般都使用了兩個及以上的字節進行編碼的方案。對于簡體中文,GB2312碼是國家1981年實施的編碼標準,通行于大陸。新加坡等地也使用此編碼。GBK編碼是GB2312碼的擴展,是1995年發布的指導性規范,它在字匯一級支持 ISO/IEC 10646-1 和GB 13000-1 的全部中日韓 (CJK) 漢字(20902字)。

目前***的漢字字符集是2000年的GB18030,它是取代GBK1.0的正式國家標準。該標準收錄了27484個漢字,同時還收錄了藏文、蒙文、維吾爾文等主要的少數民族文字。目前簡體WINDOWS的缺省內碼還是GBK。

 

由于編碼方案太多且彼此之間不兼容,存在互相之間存在沖突的情況,即對于同一個編碼數值,在兩種不同的編碼方案中代表的是兩個不同的字符。這樣對于一些WEB應用來說,由于多種語言文字的同時使用及存儲,需要采用一種統一的字符集。

為此,國際標準化組織(ISO)制定了ISO 10646碼表,而Unicode協會制定了Unicode規范,這兩個體系剛開始時是獨立建立的,在1991年,雙方都認識到世界不需要兩個不兼容的Oracle字符集。于是它們開始合并雙方的工作成果,并為創立一個單一編碼表而協同工作。

從Unicode2.0開始,Unicode項目采用了與ISO 10646-1相同的字庫和字碼。目前兩個項目仍都存在,并獨立地公布各自的標準。Unicode協會現在的***版本是2006年的Unicode 5.0。

 

Oracle數據庫的字符集

Oracle的字符集名字一般由以下部分組成:語言或區域、表示一個字符的比特位數、標準字符集名稱(可選項,S或C,表示服務器或客戶端)。Oracle字符集UTF8與UTFE不符合此規定,其它基本都是這種格式。

  1. set nls_lang=AMERICAN_AMERICA.UTF8  
  2. set nls_lang=SIMPLIFIED CHINESE_AMERICA.UTF8  

 

 

對于US7ASCII,表示區域是US,用7個比特位表示一個字符,標準的字符集名稱為ASCII。

 

對于中文字符集ZHS16GBK,表示簡體中文(ZHT為繁體中文),一個字符需要16位比特,標準的字符集名稱為GBK。而ZHS16CGB231280表示簡體中文,一個字符需要16位比特,標準的字符集名稱為GB231280,屬于我們前面提過的1981年發布的GB2312-80標準。

雖然我們說,GBK編碼標準是GB2312編碼標準的擴展,但是數據庫字符集ZHS16GBK與ZHS16CGB231280之間卻不是嚴格的超集與子集的關系,主要是有些漢字的編碼在兩個Oracle字符集中的數值是不同的,因此它們進行字符集轉換時會出現問題。

 

在本文中,有時候使用的是標準字符集名稱,有時候又需要使用Oracle字符集的名稱,因此希望大家明白兩者之間的對應關系。

 

Oracle數據庫有國家字符集(national character set)與數據庫字符集(database character set)之分。兩者都是在創建數據庫時需要設置的。

國家字符集主要是用于NCHAR、NVARCHAR、NCLOB類型的字段數據,而數據庫字符集使用很廣泛,它用于:CHAR、VARCHAR、CLOB、LONG類型的字段數據;表名、列名、PL/SQL中的變量名;輸入及保存在數據庫的SQL和PL/SQL的源碼。

 

Oracle支持的Unicode字符集有以下幾種,下面的列表給出了字符集的名稱、對應的數據庫版本范圍、采用的Unicode的版本。

 

AL24UTFFSS:是Oracle***種支持Unicode的Oracle字符集,從7.2版本開始使用,但是它支持的Unicode版本為1.1,因此從9i開始就不支持此字符集了。

 

UTF8:是Oracle從Oracle8開始使用的屬于UTF-8編碼的字符集,從Oracle8.0到Oracle8.16,Unicode版本為2.1,而Oracle817到10g,采用的Unicode標準為3.0

 

UTFE:用于EBCDIC碼平臺上的數據庫Unicode字符集。因此它屬于專用系統使用的字符集,其它屬性與UTF8基本相同。

 

AL32UTF8:是從Oracle9開始使用的屬于UTF-8編碼的字符集,與UTF8相比,它采用的Unicode版本更新,在10g版本中使用的是Unicode 4.01標準,而UTF8因為兼容性的考慮,在10g版本中用的是Unicode 3.0標準。

 

AL16UTF16:是Oracle***種采用UTF-16編碼方式的字符集,從Oracle9開始使用,是作為缺省的國家字符集使用,它不能被用作數據庫的字符集。

這是因為數據庫的字符集決定了SQL與PL/SQL源碼的編碼方式,對于UTF-16這種使用固定的兩個字節來表示英文字母的編碼方案來說,確實不適于用作數據庫的Oracle字符集,Oracle目前采用的數據庫字符集都是基于ASCII或EBCDID作為子集的編碼方案。

 

【編輯推薦】

  1. Oracle 字符串split的相關實際應用代碼介紹
  2. Oracle創建Split 與Map 函數的代碼示例
  3. Oracle數據庫的安全,PL/SQL的SQL注入
  4. Oracle查詢分頁的存儲過程實際代碼示例
  5. Oracle merge into的實操示例
責任編輯:佚名 來源: 博客園
相關推薦

2023-12-05 12:11:52

JVMCPU

2011-04-11 11:05:12

Oracle字符集

2010-04-30 10:16:22

Oracle字符集

2009-11-20 16:52:35

Oracle字符集

2011-04-11 10:59:33

Oracle字符集

2011-05-20 13:24:39

oracle字符集

2010-05-06 18:01:07

Oracle Expr

2010-04-28 17:29:07

Oracle字符集

2009-07-29 13:42:04

Oracle中文顯示

2010-05-06 14:40:59

Oracle字符集

2010-04-13 13:11:34

Oracle漢字顯示

2010-04-13 12:56:16

Oracle字符集

2010-04-27 13:21:58

Oracle數據字符集

2010-04-13 12:23:34

Oracle數據庫

2010-04-13 12:42:59

Oracle連接

2010-04-13 13:33:37

Oracle字符集

2010-04-21 09:49:10

Oracle數據庫字符

2010-04-12 15:40:48

Oracle SGA

2010-04-23 10:18:42

Oracle數據庫字符

2010-04-13 13:24:04

Oracle數據庫
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久久久国产精品免费免费 | 蜜桃传媒av | 欧美激情综合 | 黄色国产视频 | 人人干人人超 | 成人久久久久 | 九九九久久国产免费 | 久久久精品天堂 | 久久久久久久久久久久久久久久久久久久 | 99re在线观看| 精品视频免费 | 狠狠色综合久久丁香婷婷 | 综合久| 黑人中文字幕一区二区三区 | 91视频网址 | 日本精品一区二区在线观看 | 日韩欧美国产一区二区 | 国产一区二区三区视频免费观看 | 91视频.com| 亚洲一区二区三区在线播放 | 久久精品国产a三级三级三级 | 91久久精 | 久久久久一区 | av黄色免费在线观看 | www久久| a国产一区二区免费入口 | 激情久久久久 | 99久视频 | 久久精品网 | 国产成人精品一区二 | 日韩在线免费 | 色呦呦在线 | 夜夜骑天天干 | 亚洲欧美一区二区三区国产精品 | 免费久久久 | 亚洲欧美激情视频 | 黄视频免费在线 | 日韩精品久久久久 | av在线免费播放 | 国产乱码精品一区二区三区中文 | 久久久久久免费毛片精品 |