用語集
アクセント
文字の発音を変更する記号。アクセントという語の一般的な意味は文字の強勢または強調に関連しているため、『Oracle Databaseグローバリゼーション・サポート・ガイド』では発音区別記号という用語を使用します。
「発音区別記号」も参照。
AL16UTF16
SQL NCHAR
データ型に使用されるデフォルトのOracleデータベースの文字セットで、各国語文字セットに使用されます。この文字セットは、UnicodeデータをUTF-16コード体系でエンコードします。
「各国語文字セット」、「UTF-16」も参照。
AL32UTF8
SQL CHAR
データ型に使用されるOracleデータベースの文字セットで、データベース文字セットに使用されます。この文字セットは、UnicodeデータをUTF-8コード体系でエンコードします。
Oracle Database 12cリリース2以降、データベースの作成にOracle Universal Installer (OUI)またはDatabase Configuration Assistant (DBCA)を使用する場合、使用されるデフォルトのデータベース文字セットはAL32UTF8です。
「データベース文字セット」も参照。
ASCII
米国の情報交換標準コード。英語用のエンコードされた共通7ビット文字セット。ASCIIには、文字AからZとaからz、数字、句読点記号および制御文字が含まれます。Oracle Databaseの文字セット名はUS7ASCIIです。
バイナリ照合
それぞれの文字列を単純なバイトの並びとして扱い、バイナリ表現(文字コード)に基づいて文字列を並べ替えるタイプの照合。
「照合」、「言語照合」、「単一言語照合」、「多言語照合」、「アクセントを区別しない言語ソート」、「大/小文字を区別しない言語照合」も参照。
標準的な同値化
2つの文字または文字列が意味論的に同じ文字とみなされることになっていることを述べるUnicode規格の用語。正しく行われた場合、標準的に同値化された文字は区別できません。たとえば、合成された文字ñ (U+00F1波形記号付きラテン小文字N)は、n (U+006Eラテン小文字N)に˜ (U+0303波線の結合文字)が続く文字列に、標準的に同値です。
文字
テキストの抽象要素。文字は、その文字の特定の表現である絵文字とは異なります。たとえば、英語の大文字アルファベットの先頭の文字は、等幅のA、プロポーショナル斜体のAA、筆記体のAなどとして表示されることができます。これらの形式は、同じ文字を表現する異なる絵文字です。文字、文字コードおよび絵文字には、次のような関連があります。
文字 --(エンコーディング)--> 文字コード --(フォント)--> 絵文字
たとえば、英大文字の最初の文字は、コンピュータのメモリーでは数値として表されます。この数値は、エンコーディングまたは文字コードと呼ばれます。英大文字の最初の文字の文字コードは、ASCIIコード体系では0x41で、EBCDICコード体系では0xc1です。
この文字を表示または印字するには、フォントを選択する必要があります。使用可能なフォントは、使用するコード体系によって異なります。各フォントは、通常、異なる形(つまり、同じ文字を表す異なる絵文字)を使用します。
文字コード
文字コードとは、特定の文字を表現するバイト列です。この列は、文字コード体系に依存します。たとえば、英大文字の最初の文字の文字コードは、ASCIIコード体系では0x41ですが、EBCDICコード体系では0xc1です。
「文字」も参照。
文字コード体系
文字エンコード形式によって割り当てられる番号を、バイト(文字コード)の特定の列にマップするルール。たとえば、UTF-16エンコード形式には、ビッグ・エンディアン・コード体系(UTF-16BE)とリトル・エンディアン・コード体系(UTF-16LE)があります。
大部分のエンコード形式には、1つのコード体系のみがあります。このため、エンコード形式、コード体系およびエンコーディングが区別なく使用されることがよくあります。
Oracle文字セットは、文字コード体系に対応しています。たとえば、AL16UTF16は、UTF-16BEコード体系のOracle名です。
文字セット
特定の言語または言語グループのテキスト情報を表す要素の集まり。1つの言語を複数の文字セットで表現できます。
文字セットは、必ずしも特定の文字コード体系を示すわけではありません。文字コード体系は、文字セットの各文字に対する文字コードの割当てです。
このマニュアルでは、通常、文字セットは特定の文字コード体系を示しています。したがって、このマニュアルでは、文字セットとエンコードされた文字セットは同じです。
クライアント文字セット
データベース・クライアントが使用するエンコード済文字セット。クライアント文字セットは、データベース文字セットと異なることがあります。データベース文字セットは、サーバー文字セットと呼ばれることもあります。クライアント文字セットがデータベース文字セットと異なる場合は、文字セット変換が必要です。
「データベース文字セット」も参照。
コード単位
エンコードされたテキストを処理および交換する単位。コード単位のサイズは、文字コード体系に応じて異なります。ほとんどの文字エンコーディングでは、コード単位は1バイトです。ただし、UTF-16とUCS-2の場合は2バイトのコード単位が使用され、ワイド・キャラクタの場合は4バイトが使用されます。
「文字エンコード形式」も参照。
照合
特定のロケールの言語に関連付けられた文字のソートに関する規則に従って文字列を順序付けすること。言語ソートとも呼ばれます。
「言語照合」、「単一言語照合」、「多言語照合」、「アクセントを区別しない言語ソート」、「大/小文字を区別しない言語照合」も参照。
データベース文字セット
テキストをデータベースに格納するために使用される、エンコードされた文字セット。CHAR
、VARCHAR2
、LONG
および固定幅のCLOB
列の値と、すべてのSQLおよびPL/SQLテキストが含まれます。
Database Migration Assistant for Unicode(DMU)
直感的な操作が可能な、ユーザーに親しみやすいGUIを装備した、文字セットの移行ツール。作業量を大幅に減らし、移行上のあらゆる問題を解決するインタフェースを備えているため、これを使用すれば移行プロセスを効率化できます。
発音区別記号
文字または文字列の上または下にある記号で、それが付いていない場合の文字とは発音が異なることを示します。たとえば、façade
の場合、セディラは発音区別記号です。セディラが付いている場合は、c
の発音が変化します。
グローバリゼーション
ソフトウェアを多様な言語および文化の環境に適したものにするプロセス。グローバリゼーションとローカライゼーションは異なるものであり、ローカライゼーションとは、ソフトウェアをある固有のロケールで使用できるように準備するプロセスです(たとえば、ある言語から他の言語へのエラー・メッセージやユーザー・インタフェースの翻訳)。
ISO
International Organization for Standardization (国際標準化機構)。130か国からなる標準機関の世界的な連合。ISOでは、世界規模の規格を開発および促進し、商品やサービスの国際的な交流を容易にすることを目的としています。
ISO/IEC 10646
現在、世界で使用されているほとんどの主要文字を定義しているユニバーサル文字セットの規格。ISO/IEC 10646は、文字レパートリに関するかぎりUnicode規格との同期を維持しますが、定義するプロパティとテキスト処理アルゴリズムはUnicode規格より少なくなっています。
ISO Latin-1
ISO 8859-1文字セット規格。ASCIIに対する8ビット拡張機能で、西ヨーロッパで最も頻繁に使用される共通のラテン文字を含む128文字が追加されています。Oracle Databaseの文字セット名は、WE8ISO8859P1です。
「ISO 8859」も参照。
言語照合
標準的、慣習的な話し言葉を考慮に入れた照合の一種。
「照合」、「言語ソート」、「単一言語照合」、「多言語照合」、「アクセントを区別しない言語ソート」、「大/小文字を区別しない言語照合」も参照。
ローカライゼーション
言語固有または文化固有の情報をソフトウェア・システムに提供するプロセス。アプリケーションのユーザー・インタフェースの翻訳は、ローカライゼーションの1つの例です。ローカライゼーションとグローバリゼーションは異なるものです。グローバリゼーションとは、ソフトウェアを多様な言語および文化的な環境に適したものにすることです。
単一言語照合
文字列を2つのレベルで比較するOracle Databaseの照合。文字列は、まず文字のメジャー値に基づいて順序付けされ、その比較で等しいと判断されると、文字のマイナー値に基づいて順序付けされます。メジャー値はだいたいベース文字に対応し、マイナー値は発音区別記号およびケースに対応します。単一言語照合を使用すると、ヨーロッパ地域の大半の言語はソートできますが、アジア地域の言語や多言語のテキストには不向きです。
「多言語照合」も参照。
マルチバイト
2バイト以上であること。
特定の言語(または言語グループ)のすべての文字に対して文字コードが割り当てられた場合は、1バイト(8ビット)では256の異なる文字を表現できます。2バイト(16ビット)では、65,536の異なる文字を表現できます。すべての文字を表現するために、2バイトでは不十分な言語も多いです。一部の文字には3または4バイト必要です。
たとえば、UnicodeのUTF-8エンコード形式があります。UTF-8には、多数の2バイトおよび3バイトの文字があります。
また、台湾で使用する繁体字中国語もこの例の1つ。この言語では、80,000以上の文字が使用されます。台湾で使用されている一部の文字コード体系は、4バイトを使用して文字をエンコードします。
「シングルバイト」も参照。
マルチバイト・キャラクタ
ある文字コード体系で、2バイト以上の文字コードから構成される文字。
コード体系が異なると、同じ文字に異なる文字コードが対応する場合があります。使用している文字コード体系が不明な場合、Oracle Databaseでは文字がマルチバイト・キャラクタであるかどうかを判断できません。たとえば、日本語の半角カタカナ文字は、JA16SJISのエンコードされた文字セットでは1バイト、JA16EUCでは2バイト、AL32UTF8では3バイトです。
「シングルバイト文字」も参照。
マルチバイト変動幅文字コード体系
各文字コードが所定の範囲に収まるバイト数を持っている文字コード体系。範囲は、1から文字セットの最大文字幅までです。コード体系により異なりますが、文字セットの最大文字幅は、2バイト、3バイトまたは4バイトです。たとえば、ZHT16BIG5には1バイトまたは2バイトの文字コードがあります。UTF8には、1バイト、2バイトまたは3バイトの文字コードがあります。AL32UTF8には、1バイト、2バイト、3バイトまたは4バイトの文字コードがあります。Oracleは、文字コード当たりのバイト数が4を超えるコード体系をサポートしません。
多言語照合
3つのレベルで文字列を評価するOracle Databaseの照合。アジア言語の場合は、1言語によるデータしか存在しない場合にも、多言語照合が必要です。多言語照合は、複数言語によるデータが存在する場合にも使用されます。
多言語照合では、文字列はまず1次重み付けに基づいて順序付けられ、その後、必要に応じて2次重み付け、3次重み付けが行われます。文字の場合、1次重み付けはベース文字に、2次重み付けは発音区別記号に、3次重み付けはケースおよび固有の文字飾り(文字を囲む円など)に対応します。表意文字のスクリプトの場合、重み付けが他の文字変化形を表す場合があります。
NLBファイル
ロケール固有のデータを定義するためにLocale Builderが使用するバイナリ・ファイル。このファイルでは、特定リリースのOracle Databaseに付属するロケール定義がすべて定義されます。Oracle Locale Builderを使用すると、ユーザー定義のNLBファイルを作成できます。
NLS
National Language Support。NLSによって、ユーザーは母国語でデータベースと対話できます。さらに、アプリケーションを様々な言語および文化の環境で実行できます。この用語は、グローバリゼーションおよびローカライゼーションという用語に置き換えられました。
NLSRTL
National Language Supportランタイム・ライブラリ。このライブラリは、ロケールに依存しない国際化に関するアルゴリズムを提供します。ロケール固有の情報(つまり、NLSDATA)は、実行中にNLSRTLライブラリによって読み込まれます。
制限付き多言語サポート
関連する言語のグループに制限された多言語サポート。西ヨーロッパ諸国の言語は、ISO 8859-1などで表現されますが、ISO 8859-1を使用すると多言語サポートが制限されます。タイ語や中国語をグループに追加できませんでした。
スクリプト
特定の書記体系。書記体系で使用される、関連する図形記号の集まり。スクリプトの中には複数の言語を表現できるものもあり、言語の中には複数のスクリプトを使用するものもあります。スクリプトの例として、ラテン文字、アラビア文字および漢字があります。
シングルバイト
1バイト。1バイトは、通常8ビットで構成されます。特定の言語のすべての文字に文字コードを割り当てる場合、1バイト(8ビット)では256の異なる文字を表現できます。
「マルチバイト」も参照。
シングルバイト文字
ある文字コード体系で、1バイトの文字コードで構成される文字。コード体系が異なると、同じ文字に異なる文字コードが対応する場合があります。使用しているコード体系が不明な場合、Oracle Databaseではどの文字がシングルバイト文字であるかを判断できません。たとえば、ユーロ通貨記号は、WE8MSWIN1252のエンコードされた文字セットでは1バイト、AL16UTF16では2バイト、UTF8では3バイトです。
「マルチバイト・キャラクタ」も参照。
シングルバイト文字列
シングルバイト文字列は、シングルバイト文字コード体系でエンコードされた文字列です。この用語は、たまたまシングルバイト文字のみで構成されているマルチバイト変動幅文字列を記述するために使用される場合もあります。「マルチバイト変動幅文字コード体系」も参照。
補助文字
Unicode規格の最初のバージョンは16ビットの固定幅エンコーディングで、各文字のエンコーディングに2バイトを使用していました。このため、65,536文字を表現できました。しかし、アジア言語の多数の表意文字の関係で、より多くの文字のサポートが必要となっています。
Unicode規格バージョン3.1では、このニーズを満たすために、16進数の0000-FFFFから16進数の0000-10FFFFに文字の番号付け範囲を拡張することによって補助文字が定義されました。Unicode 3.1では、2つの16ビット・コード単位(サロゲート・ペアとも呼ばれます)を使用して、UTF-16形式で1つの補助文字を表現するようになりました。このため、さらに1,048,576文字の定義が可能でした。Unicode 3.1規格には、最初のグループとして44,944文字の補助文字が追加されました。以降のバージョンのUnicode規格では、さらに追加が行われました。
Unicode規格
エンコードされたユニバーサル文字セットのことで、1つの文字セットを使用して任意の言語の情報を格納できます。Unicode規格では、プラットフォーム、プログラムまたは言語に関係なく、すべての文字に一意のコード値が指定されます。
Unicode規格はまた、様々な可変テキスト処理アルゴリズムおよび関連の文字プロパティを定義して、アラビア語またはデーバナーガリ(ヒンディー語)などスクリプトの複雑なスクリプト処理を助けます。
Unicodeデータ型
SQL NCHAR
データ型(NCHAR
、NVARCHAR2
およびNCLOB
)。データベース文字セットがUnicode規格に基づいていない場合も、これらのデータ型の列にUnicode文字を格納できます。
無制限多言語サポート
要求に応じて多数の言語を使用するための機能。Unicode規格などのユニバーサル文字セットを使用すると、無制限に多言語をサポートできるようになります。ユニバーサル文字セットでは大規模な文字レパートリをサポートしています。この文字レパートリには世界のほとんどの現代語が含まれています。
UTF8
UTF8 Oracle文字セットは、文字を1バイト、2バイトまたは3バイトでエンコードします。UTF8文字セットはUnicode 3.0をサポートし、CESU-8コード体系を実装しています。Unicode 3.1では、特定の補助文字にコード・ポイントが割り当てられていませんでしたが、Unicode 3.0では補助文字用のコード・ポイント範囲が割り当てられていました。補助文字は、6バイトを占める2つの別個のユーザー定義文字として処理されます。UTF8は非推奨です。
UTF-8
Unicode規格の8ビット・エンコード形式とコード体系。マルチバイト変動幅エンコードです。UTF-8エンコーディングでは、1つのUnicode文字を、1バイト、2バイト、3バイトまたは4バイトで表すことができます。ヨーロッパ言語の文字は、1バイトまたは2バイトで表します。ほとんどのアジア言語の文字は、3バイトで表します。補助文字は、4バイトで表します。UTF-8を実装するOracle Database文字セットは、AL32UTF8です。
UTF-16
Unicodeの16ビット・エンコード形式です。UTF-16エンコーディングでは、1つのUnicode文字は、1つまたは2つの2コード単位です。スクリプトがヨーロッパの言語と、ほとんどのアジア言語の文字(ASCII文字を含む)は、1コード単位(2バイト)で表します。補助文字は、2コード単位(4バイト)で表します。UTF-16を実装するOracle Database文字セットは、AL16UTF16とAL16UTF16LEです。AL16UTF16は、UTF-16エンコード形式のビッグエンディアン・コード体系を実装します(各コード単位の、重要性の高い方のバイトがメモリー内で先にきます)。AL16UTF16は、有効な各国語文字セットです。AL16UTF16LEは、リトル・エンディアンUTF-16コード体系を実装します。変換専用の文字セットで、SQL CONVERT
またはPL/SQL UTL_I18N.STRING_TO_RAW
など、文字セット変換関数でのみ有効です。大部分のSQL文字列処理機能は、AL16UTF16の各UTF-16コード単位を別々の文字として扱うことに注意してください。関数INSTR4
、SUBSTR4
およびLENGTH4
は例外です。