關於全球化支援功能
全球化支援功能可讓您開發多語言應用程式,此應用程式可在全球任何地方同時執行。應用程式可使用使用者的本國語言和地區設定偏好設定,來顯示使用者介面的內容以及處理資料。
注意:
過去,Oracle 稱為「全球化」支援國家語言支援 (NLS) ,但 NLS 實際上是全域化支援的一部份。NLS 是選擇國家語言並使用特定字元集儲存資料的功能。NLS 使用 NLS 參數來實作。
另請參閱:Oracle Database Globalization Support Guide,瞭解有關全球化支援功能的詳細資訊
關於語言支援
Oracle Database 可讓您以原生語言儲存、處理和擷取資料。經過支援 Oracle 的字元集編碼寫入命令檔的所有語言都可以儲存在資料庫裡的語言。Oracle Database 透過使用 Unicode 資料庫和資料類型來支援大多數現代語言。
語言的子集提供其他支援。例如,資料庫可以使用轉譯的月份名稱來顯示日期,也可以根據文化慣例來排序文字資料。
在本文件中,語言支援一詞是指其他語言相依的功能,而非儲存特定語言文字的能力。例如,語言支援包括根據特定地區設定和文化慣例來顯示日期或排序文字。此外,對於部分支援的語言,Oracle Database 也提供資料庫公用程式的翻譯伺服器訊息和翻譯使用者介面。
另請參閱:
-
Oracle Database 全球化支援指南,取得 Oracle Database 支援的完整語言清單
-
Oracle Database Globalization Support Guide,取得 Oracle Database 訊息的翻譯語言清單
關於地區支援
預設本地時間格式、日期格式以及數值和貨幣慣例都相依於本地地區設定值。
Oracle Database 支援地理位置特定的文化慣例。預設本地時間格式、日期格式以及數值和貨幣慣例都相依於本地地區設定值。設定不同的 NLS 參數可讓資料庫階段作業使用不同的文化設定值。例如,您可以將歐元 (EUR) 設成主要貨幣,將日圓 (JPY) 設成指定資料庫階段作業的次要貨幣,即使區域是 AMERICA。
另請參閱:
-
Oracle Database 全球化支援指南,取得 Oracle Database 支援的完整區域清單
關於日期與時間格式
不同的國家會有不同的顯示時間、日、月和年的慣例。
例如,下表顯示五個國家的當地日期與時間格式,並提供每種格式的範例:
| 國家/地區 | 日期格式 | 範例 | 時間格式 | 範例 |
|---|---|---|---|---|
| 中國 | yyyy-mm-dd |
2005-02-28 |
hh24:mi:ss |
13:50:23 |
| 愛沙尼亞 | dd.mm.yyyy |
28.02.2005 |
hh24:mi:ss |
13:50:23 |
| 德國 | dd.mm.rr |
28.02.05 |
hh24:mi:ss |
13:50:23 |
| UK | dd/mm/yyyy |
28/02/2005 |
hh24:mi:ss |
13:50:23 |
| US | mm/dd/yyyy |
02/28/2005 |
hh:mi:ssxff am |
1:50:23.555 PM |
另請參閱:
-
Oracle Database Globalization Support Guide,瞭解有關日期 / 時間資料類型和時區支援的資訊
-
Oracle Database SQL Language Reference,瞭解日期和時間格式的相關資訊
關於行事曆格式
不同國家 / 地區使用不同的行事曆。
Oracle Database 會儲存每個區域的行事曆資訊:
-
一週的第一日
在部分文化中為星期日,但有些是星期一。由 NLS_TERRITORY 參數設定。
-
行事曆年度的第一週
有些國家使用週數來排程、規劃和記帳。在 ISO 標準中,此週數和行事曆年的週數不同。例如,2005 年 1 月 1 日是 ISO 的 2004 年第 53 週。ISO 的一週從星期一開始而結束於星期日。為了支援 ISO 標準,Oracle Database 提供 IW 日期格式元素,此元素會傳回 ISO 週數。年度第一個行事曆週是由 NLS_TERRITORY 參數設定。
-
一年的天數與月數
除了預設的西曆之外,「Oracle 資料庫」還支援六種行事曆系統。這些其他行事曆系統包含:
-
日本天皇曆
與西曆的月數和日數一樣,但是年度從每個帝國年代的開端開始。
-
台灣官方日曆
與西曆的月數和日數一樣,但是年度從中華民國建國開始。
-
波斯文
前六個月每個月有 31 天,接下來的五個月每個月有 30 天,最後一個月有 29 天或 (在閏年) 30 天。
-
泰國佛曆使用佛教日曆。
-
阿拉伯文回曆有 12 個月又 354 天或 355 天。
-
英文回曆有 12 個月又 354 天或 355 天。
行事曆系統由 NLS_CALENDAR 參數指定。
-
-
多世代的第一年
伊斯蘭曆從伊斯蘭教紀元開始。日本天皇曆從帝王統治時期開始 (例如,1998 是伊斯蘭教紀元的第十年)。
另請參閱:
關於數字和貨幣格式
不同國家有不同的數字和貨幣慣例。
此表格顯示五個國家的當地數字和貨幣格式,並提供每種格式的範例:
| 國家/地區 | 數值格式 | 貨幣格式 |
|---|---|---|
| 中國 | 1,234,567.89 | ©1,234.56 |
| 愛沙尼亞 | 1 234 567,89 | 1 234,56 kr |
| 德國 | 1.234.567,89 | 1.234,56€ |
| UK | 1,234,567.89 | £1,234.56 |
| US | 1,234,567.89 | $1,234.56 |
另請參閱:
關於語言排序和字串搜尋
不同語言有不同的排序順序 (輪詢順序)。而且,使用相同字母的不同國家或文化,其排序文字方法也不同。例如,在丹麥,Æ 是在 Z 之後,而 Y 和 Ü 被視為相同字母的變異。
另請參閱:
-
Oracle Database Globalization Support Guide,瞭解有關語言排序和字串搜尋的詳細資訊
關於長度語意
若要使用位元組長度計算字串中的字元數,您必須知道字元集中每個字元的位元組數。
在單一位元組字元集中,字串中的位元組數目和字元數目相同。在多位元組字元集中,字元或字碼元素由一或多個位元組所組成。在可變寬度字元集當中,要根據位元組長度來計算字元數目非常困難。計算以位元組表示的資料欄長度稱為位元組語意,而以字元來測量資料欄長度稱為字元語意。
字元語意對於指定不同寬度的多位元組字串之儲存需求很有用。例如,在 Unicode 資料庫 (AL32UTF8) 中,假設您必須要有一個 VARCHAR2 資料欄,此資料欄最多可以儲存五個英文字母字元。使用位元組語意,此資料欄需要 15 位元組容納每個字 3 位元組長的中文字元,以及 5 位元組容納每個字 1 位元組長的英文字元,總共需要 20 位元組。使用字元語意,資料欄只需要 10 個字元。
另請參閱:
關於 Unicode 和 SQL 本國字元資料類型
Unicode 是一個字元編碼系統,定義全球大部分使用語言中的每個字元。在 Unicode 中,每個字元都有唯一的代碼,無論平台、程式或語言為何。
您可以使用兩種方式將 Unicode 字元儲存在「Oracle 資料庫」中。
-
您可以建立一個 Unicode 資料庫,將 UTF-8 編碼字元儲存為 SQL 字元資料類型 (CHAR、VARCHAR2、CLOB 及 LONG)。
-
您可以宣告具有 SQL 國家字元資料類型的欄與變數。
SQL 本國字元資料類型是 NCHAR、NVARCHAR2 和 NCLOB。它們也稱為 Unicode 資料類型,因為它們僅用於儲存 Unicode 資料。
建立資料庫時,會指定用於所有 SQL 國家字元資料類型的國家字元集。本國字元集可以是 UTF8 或 AL16UTF16 (預設)。
當您宣告 NCHAR 或 NVARCHAR2 類型的資料欄或變數時,您指定的長度是字元的數目,而不是位元組的數目。
另請參閱:
-
Oracle Database Globalization Support Guide,瞭解有關 Unicode 的詳細資訊
-
Oracle Database Globalization Support Guide,瞭解有關在 Oracle Database 中儲存 Unicode 字元的詳細資訊
-
Oracle Database Globalization Support Guide,瞭解有關 SQL 國家字元資料類型的詳細資訊