自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Oracle數(shù)據(jù)庫的字符集實際應(yīng)用

數(shù)據(jù)庫 Oracle
以下的文章主要描述的是Oracle數(shù)據(jù)庫的字符集的實際應(yīng)用,以及字符集的選擇需要優(yōu)先考慮應(yīng)用程序的需要,以下就是文章的詳細(xì)內(nèi)容介紹,望大家借鑒。

假如你對Oracle數(shù)據(jù)庫的字符集的實際應(yīng)用不是很了解的話,下面的文章就是對Oracle數(shù)據(jù)庫的字符集的相關(guān)內(nèi)容的具體介紹,其實我個人認(rèn)為Oracle數(shù)據(jù)庫的字符集是數(shù)據(jù)庫操作的一種常用手段。

如何選擇合適的Oracle數(shù)據(jù)庫的字符集

數(shù)據(jù)庫需要存儲的數(shù)據(jù)類型是字符集選擇的首要考慮目標(biāo)。

 

對于只存儲英文信息的數(shù)據(jù)庫等來說,一般采用US7ASCII或WE8ISO8859P1等單字節(jié)的字符集就比較合適,在性能和空間上也是***,

 

同樣,存儲了中文信息的數(shù)據(jù)庫,如果采用單字節(jié)的字符集,也是不合適的。在這種情況下,Oracle數(shù)據(jù)庫的字符集雖然是US7ASCII或WE8ISO8859P1編碼,但里面存儲的數(shù)據(jù)編碼實際上卻是另外的編碼格式,這種不一致的情況很容易引起問題,建議不要這樣使用。Oracle提供了很多種類的字符集供客戶選擇,就是要滿足各種文字不同的編碼需要。

 

字符集的選擇需要優(yōu)先考慮應(yīng)用程序的需要。

 

目前出于國際化的需要,軟件需要可以對不同的語言文字進(jìn)行處理,尤其一個系統(tǒng)中需要容納多種語言文字的時候,一般都會采用Unicode這樣的通用解決方案,即使會有一些空間和運行效率的損失也是值得的。此時數(shù)據(jù)庫字符集建議可以采用AL32UTF8或UTF8編碼,一種比較理想的模式就是由程序負(fù)責(zé)編碼格式的轉(zhuǎn)換,而Oracle數(shù)據(jù)庫只提供一個透明的數(shù)據(jù)存儲,

 

客戶在應(yīng)用程序中輸入數(shù)據(jù),此時數(shù)據(jù)的編碼格式是由客戶操作系統(tǒng)的區(qū)域及語言設(shè)置決定的,如在簡體中文XP的環(huán)境下,輸入的中文編碼屬于GBK編碼。在客戶輸入結(jié)束后,程序首先判斷客戶的本地環(huán)境,并把編碼轉(zhuǎn)換成UNICODE,并通過NET傳送到服務(wù)器端。

由于客戶端與服務(wù)器數(shù)據(jù)庫的字符集均為UTF8格式,Oracle在傳送過程中不會進(jìn)行字符轉(zhuǎn)換,直接把數(shù)據(jù)按UTF8格式存儲到數(shù)據(jù)庫中。查詢時是一個反向的過程,應(yīng)用程序從數(shù)據(jù)庫中取出UTF8編碼的數(shù)據(jù),再由應(yīng)用程序根據(jù)客戶的本地環(huán)境,把UTF8編碼的數(shù)據(jù)轉(zhuǎn)換成客戶本地的編碼格式,***把結(jié)果數(shù)據(jù)顯示給客戶。

此方案的關(guān)鍵在于應(yīng)用程序要能很好的支持UNICODE編碼,編碼的轉(zhuǎn)換由應(yīng)用程序來負(fù)責(zé),Oracle數(shù)據(jù)庫只是提供了一個數(shù)據(jù)存儲功能。

 

對于部分程序來說,由于對UNICODE支持不夠,沒有提供編碼的轉(zhuǎn)換功能,則可以使用Oracle提供的字符集轉(zhuǎn)換功能來實現(xiàn)同樣的目的??蛻粼趹?yīng)用程序中輸入數(shù)據(jù),此時數(shù)據(jù)的編碼格式是由客戶操作系統(tǒng)的區(qū)域及語言設(shè)置決定的,如在簡體中文XP的環(huán)境下,輸入的中文編碼屬于GBK編碼。

在客戶輸入結(jié)束后,程序直接把數(shù)據(jù)并通過NET傳送到服務(wù)器端。由于客戶端與服務(wù)器數(shù)據(jù)庫的字符集不一致,因此Oracle會把客戶端的編碼轉(zhuǎn)換成UTF8格式,再把數(shù)據(jù)按UTF8格式存儲到數(shù)據(jù)庫中。這種方案的優(yōu)點就是程序可以不用支持UNICODE,由Oracle數(shù)據(jù)庫自動進(jìn)行轉(zhuǎn)換。

由于數(shù)據(jù)庫的字符集為UTF8,是其它字符集的超集,因此在轉(zhuǎn)換過程中不會發(fā)生數(shù)據(jù)丟失的情況。對于英文的字符符號,在UTF8中使用單字節(jié)存儲,轉(zhuǎn)換的工作量很小,可以忽略,而對于一些亞洲字符集,在UTF8中一般需要兩到三個字節(jié)存儲,需要的Oracle數(shù)據(jù)庫空間增加,而且轉(zhuǎn)換的工作量也相對大一些,性能會有一些損失。

 

【編輯推薦】

  1. Oracle merge into的實操示例
  2. Oracle查詢分頁的存儲過程實際代碼示例
  3. Oracle數(shù)據(jù)庫的安全,PL/SQL的SQL注入
  4. Oracle應(yīng)用顧問發(fā)展計劃 著力培養(yǎng)實用型軟件人才
  5. Oracle創(chuàng)建Split 與Map 函數(shù)的代碼示例
責(zé)任編輯:佚名 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2010-04-21 09:49:10

Oracle數(shù)據(jù)庫字符

2010-04-13 13:24:04

Oracle數(shù)據(jù)庫

2010-04-23 10:18:42

Oracle數(shù)據(jù)庫字符

2010-05-10 11:50:33

Oracle數(shù)據(jù)庫字符

2010-04-13 13:33:37

Oracle字符集

2010-04-13 12:42:59

Oracle連接

2009-11-20 17:06:49

Oracle數(shù)據(jù)庫字符

2019-09-11 15:13:57

Oracle數(shù)據(jù)庫存儲

2011-04-11 10:59:33

Oracle字符集

2011-04-11 11:05:12

Oracle字符集

2010-04-30 10:16:22

Oracle字符集

2011-05-20 13:24:39

oracle字符集

2009-11-20 16:52:35

Oracle字符集

2010-04-21 11:27:55

Oracle數(shù)據(jù)庫

2010-04-27 13:21:58

Oracle數(shù)據(jù)字符集

2011-05-18 10:36:21

數(shù)據(jù)庫數(shù)據(jù)導(dǎo)入

2011-08-15 21:17:38

Oracle數(shù)據(jù)庫字符集

2010-04-28 17:29:07

Oracle字符集

2010-05-25 13:57:28

MySQL字符集

2019-09-10 07:58:01

字符集MySQL數(shù)據(jù)庫
點贊
收藏

51CTO技術(shù)棧公眾號