《Oracle大型資料庫在AIX UNIX上的實戰詳解》答疑九 資料庫字符集
陸續收到若干同行來郵件,討論關於資料庫字符集和國家語言字符集之間的關係。這裡我提出自己的看法。本文後面的內容部分來自網上關於Sybase ASE的一篇技術文摘,但下載日久,難分誰之作品,這裡借用一下,如果正好是您的,您來信告訴我,我轉告大家!
該文為Sybase ASE所作,但對於Oracle道理相同,值得借鑑!
1:什麼是字符集?
字符集是字元(包含字母,數字,符號和非列印字元等)以及所指定的內碼所組成的特定的集合。通常一個字符集包含一個字母表中的字元,例如拉丁字母表被使用在英語語言中,那麼如果要使用拉丁字元,就要配置使用英語語言集中的特定的字符集合――拉丁語言字符集。這裡為什麼特指了是英語語言集呢?因為字符集是基於某種作業系統平臺和某種語言集支援的。語言集的集合被稱為語言組,它可能包含一種或多種語言。本地字符集是基於特定語言組中所包含的一種或多種語言支援的,在特定作業系統平臺上編碼的集合。
在Client/Server系統中,支援多語言的資料處理,但是所有的語言必須屬於同一個語言組。例如,從下表可以看出,如果伺服器中的資料用組1中的字符集,則同一資料庫中可以有法語,德語,英語以及該組中的其它語言。而在這個資料庫中就不能同時儲存日語,法語了。
這裡請注意一個非常特別的字符集—Unicode—它支援世界上超過650種語言的國際字符集。Unicode允許在同一伺服器上混合使用不同語言組的不同語言。
2:字符集和排序順序的關係?
每種字符集都有一種或多種排序順序,Adaptive Server(包括Oracle)使用它們儲存資料。排序順序與特定的語言或語言組及特定的字符集聯絡密切,不同的語言對同樣字元的排序是不同的,因此,需要特定語言的排序順序,以便正確地對字元進行排序。
二進位制排序順序:對於所有字符集都至少提供一個二進位制排序順序,這一排序順序基於字符集中分配給代表每個字元的程式碼(“二進位制”程式碼)的算數值,適用於每個字符集的前128個字元和亞洲語言。當字符集支援一種以上的語言時,二進位制排序順序將會得出不正確的結果,這時就應該選擇其它排序順序了。
字典排序,區分大小寫,區分重音:分別對大寫和小寫字母進行排序。字典排序順序識別字母的各種重音形式,並將它們排在相關聯的非重音字母之後。
字典排序,不區分大小寫,區分重音:按字典順序排序,大寫字母與小寫字母等同,在排序結果中大小寫字母混合使用。對於避免表中名稱的重複條目很有用。
字典排序,不區分大小寫,區分重音,具有優先順序:在排序時不區分大小寫,在所有其它條件相同時,大寫字母具有高的優先順序(即大寫字母先出現)。
字典排序,不區分大小寫,不區分重音:將加重音格的字母與未加重音格的相關聯字母同等對待,它在排序中混合了重音字元。
3:什麼是字符集轉換(Oracle的國家語言字符集)?
為保持客戶端與伺服器之間的資料完整性,資料必須在字符集之間進行轉換,目的是跨機器和字符集使用時,確保“a”還是“a”,此過程就是字符集轉換。 Oracle NLS就是如何執行轉換的方式和指定。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22363020/viewspace-624266/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle大型資料庫系統在AIX UNIX上的實戰詳解 答疑五 AIX中的磁碟Oracle資料庫AI
- Oracle大型資料庫系統在AIX UNIX上的實戰詳解 寫作緣由Oracle資料庫AI
- 《Oracle大型資料庫系統在AIX/UNIX上的實戰詳解》集中討論21Oracle資料庫AI
- “Oracle大型資料庫系統在AIXUNIX上的實戰詳解” 答疑十三:使用大檔案表空間Oracle資料庫AI
- oracle資料庫的字符集更改Oracle資料庫
- aix下oracle資料庫管理AIOracle資料庫
- 修改Oracle資料庫字符集Oracle資料庫
- oracle資料庫字符集資訊Oracle資料庫
- 詳解oracle資料庫閃回Oracle資料庫
- ORACLE 資料庫審計詳解Oracle資料庫
- oracle 資料庫ASM功能詳解Oracle資料庫ASM
- Sybase資料庫在UNIX、Windows上的實施和管理 出版預告資料庫Windows
- oracle資料庫字符集的轉換Oracle資料庫
- 修改Oracle資料庫字符集(zt)Oracle資料庫
- 檢視oracle資料庫字符集Oracle資料庫
- Oracle資料庫字符集介紹Oracle資料庫
- Oracle資料庫字符集問題Oracle資料庫
- Oracle資料庫字符集淺析Oracle資料庫
- 詳解ORACLE資料庫的分割槽表Oracle資料庫
- Oracle資料庫資料物件分析(上)Oracle資料庫物件
- 【Oracle-資料庫概念】-Oracle checkpoint詳解Oracle資料庫
- Oracle資料庫字符集的全面認識Oracle資料庫
- AIX下使用dbca建立oracle資料庫AIOracle資料庫
- Oracle資料庫字符集問題解決方案大全Oracle資料庫
- 「Oracle」資料庫字符集編碼修改Oracle資料庫
- Oracle資料庫字符集問題解析Oracle資料庫
- 巧妙轉換ORACLE資料庫字符集Oracle資料庫
- Oracle資料庫字符集分析之一Oracle資料庫
- AIX 5.3.0.7上安裝了9.2.0.2的資料庫AI資料庫
- oracle國家字符集與資料庫字符集Oracle資料庫
- Oracle資料庫AWR的使用例項詳解Oracle資料庫
- 資料庫國產化實戰之達夢資料庫資料庫
- Python實戰之Oracle資料庫操作PythonOracle資料庫
- ORACLE資料庫閃回步驟詳解Oracle資料庫
- oracle資料庫 exp/imp命令詳解(轉)Oracle資料庫
- 修改資料庫字符集資料庫
- 大型ORACLE資料庫優化設計方案Oracle資料庫優化
- 在MongoDB資料庫中查詢資料(上)MongoDB資料庫