• 検索結果がありません。

Oracle9i グローバリゼーション・サポート・ガイド, リリース1(9.0.1)

N/A
N/A
Protected

Academic year: 2021

シェア "Oracle9i グローバリゼーション・サポート・ガイド, リリース1(9.0.1)"

Copied!
386
0
0

読み込み中.... (全文を見る)

全文

(1)

Oracle9i

グローバリゼーション・サポート・ガイド

リリース 1(9.0.1)

2001 年 10 月 部品番号:J04108-01

(2)

Oracle9i グローバリゼーション・サポート・ガイド , リリース 1(9.0.1) 部品番号:J04108-01

原本名:Oracle9i Globalization Support Guide, Release 1 (9.0.1) 原本部品番号:A90236-01

原本著者:Paul Lane

原本協力者:Cathy Baird, Winson Chu, Jessica Fan, Yu Gong, Claire Ho, Simon Law, Peter Linsley, Den Raphaely, Shige Takeda, Linus Tanaka, Makoto Tozawa, Barry Trute, Michael Yau, Hiro Yoshioka, Sergiusz Wolicki, Simon Wong, Valarie Moore

Copyright © 1996, 2001 Oracle Corporation. All rights reserved. Printed in Japan. 制限付権利の説明 プログラム(ソフトウェアおよびドキュメントを含む)の使用、複製または開示は、オラクル社との契 約に記された制約条件に従うものとします。著作権、特許権およびその他の知的財産権に関する法律に より保護されています。 当プログラムのリバース・エンジニアリング等は禁止されております。 このドキュメントの情報は、予告なしに変更されることがあります。オラクル社は本ドキュメントの無 謬性を保証しません。 * オラクル社とは、Oracle Corporation(米国オラクル)または日本オラクル株式会社(日本オラクル) を指します。 危険な用途への使用について オラクル社製品は、原子力、航空産業、大量輸送、医療あるいはその他の危険が伴うアプリケーション を用途として開発されておりません。オラクル社製品を上述のようなアプリケーションに使用すること についての安全確保は、顧客各位の責任と費用により行ってください。万一かかる用途での使用により クレームや損害が発生いたしましても、日本オラクル株式会社と開発元である Oracle Corporation(米 国オラクル)およびその関連会社は一切責任を負いかねます。 当プログラムを米国国防総省の米国政府 機関に提供する際には、『Restricted Rights』と共に提供してください。この場合次の Notice が適用され ます。

Restricted Rights Notice

Programs delivered subject to the DOD FAR Supplement are "commercial computer software" and use, duplication, and disclosure of the Programs, including documentation, shall be subject to the licensing restrictions set forth in the applicable Oracle license agreement. Otherwise, Programs delivered subject to the Federal Acquisition Regulations are "restricted computer software" and use, duplication, and disclosure of the Programs shall be subject to the restrictions in FAR 52.227-19, Commercial Computer Software - Restricted Rights (June, 1987). Oracle Corporation, 500 Oracle Parkway, Redwood City, CA 94065.

このドキュメントに記載されているその他の会社名および製品名は、あくまでその製品および会社を識 別する目的にのみ使用されており、それぞれの所有者の商標または登録商標です。

(3)

目次

目次

目次

目次

はじめに

はじめに

はじめに

はじめに

... xiii

1

グローバリゼーション・サポート

グローバリゼーション・サポート

グローバリゼーション・サポート

グローバリゼーション・サポート

Oracle サーバーのグローバリゼーション・サポート・アーキテクチャサーバーのグローバリゼーション・サポート・アーキテクチャサーバーのグローバリゼーション・サポート・アーキテクチャサーバーのグローバリゼーション・サポート・アーキテクチャ ... 1-2 ロケール非依存操作 ... 1-2 複数層アーキテクチャ ... 1-4 Unicode ... 1-5 グローバリゼーション・サポートの機能 グローバリゼーション・サポートの機能グローバリゼーション・サポートの機能 グローバリゼーション・サポートの機能 ... 1-5 言語サポート ... 1-5 地域サポート ... 1-6 日付と時刻の書式 ... 1-6 通貨と数値の書式 ... 1-6 カレンダ ... 1-7 言語ソート ... 1-7 キャラクタ・セット・サポート ... 1-7 カスタマイズ ... 1-7

2

キャラクタ・セットの選択

キャラクタ・セットの選択

キャラクタ・セットの選択

キャラクタ・セットの選択

キャラクタ・セット・エンコーディング キャラクタ・セット・エンコーディングキャラクタ・セット・エンコーディング キャラクタ・セット・エンコーディング ... 2-2 コード化キャラクタ・セットについて ... 2-2 コード化する文字 ... 2-3 キャラクタ・セットがサポートする言語数 ... 2-4 文字のコード化方法 ... 2-8 Oracle のキャラクタ・セットのネーミング規則 ... 2-10

(4)

Oracle データベース・キャラクタ・セットの選択データベース・キャラクタ・セットの選択データベース・キャラクタ・セットの選択データベース・キャラクタ・セットの選択 ... 2-10 システム・リソースとアプリケーションの相互作用 ... 2-11 キャラクタ・セットの変換 ... 2-11 データベース・スキーマ ... 2-11 パフォーマンスに与える影響 ... 2-12 制限事項 ... 2-12 Oracle NCHAR キャラクタ・セットの選択 ... 2-12 名前およびテキストを表すために使用するキャラクタ・セットに関する制限事項 ... 2-13 データ型とサポート対象コード体系の概要 ... 2-14 データベース作成後のキャラクタ・セットの変更 ... 2-15 単一言語データベースの使用例 単一言語データベースの使用例単一言語データベースの使用例 単一言語データベースの使用例 ... 2-15 キャラクタ・セットの変換 ... 2-16 多言語データベースの使用例 多言語データベースの使用例多言語データベースの使用例 多言語データベースの使用例 ... 2-17 制限付き多言語サポート ... 2-18 無制限多言語サポート ... 2-18

3

グローバリゼーション・サポート環境の設定

グローバリゼーション・サポート環境の設定

グローバリゼーション・サポート環境の設定

グローバリゼーション・サポート環境の設定

NLS パラメータの設定パラメータの設定パラメータの設定 ... 3-2パラメータの設定 NLS_LANG 初期化パラメータを使用したロケールの選択初期化パラメータを使用したロケールの選択初期化パラメータを使用したロケールの選択 ... 3-4初期化パラメータを使用したロケールの選択 環境変数としての NLS_LANG の指定 ... 3-6 NLS_LANG の例 ... 3-6 言語指定と地域指定のオーバーライド ... 3-6 NLS データベース・パラメータ ... 3-7 NLS パラメータのチェックパラメータのチェックパラメータのチェック ... 3-7パラメータのチェック NLS ビュー ... 3-7 OCI 関数 ... 3-8 言語および地域のパラメータ 言語および地域のパラメータ言語および地域のパラメータ 言語および地域のパラメータ ... 3-8 日付パラメータと時刻パラメータ 日付パラメータと時刻パラメータ日付パラメータと時刻パラメータ 日付パラメータと時刻パラメータ ... 3-13 日付書式 ... 3-13 時刻書式 ... 3-17 カレンダ・パラメータ カレンダ・パラメータカレンダ・パラメータ カレンダ・パラメータ ... 3-20 カレンダ書式 ... 3-20 NLS_CALENDAR ... 3-23

(5)

数値パラメータ 数値パラメータ数値パラメータ 数値パラメータ ... 3-24 数値書式 ... 3-24 NLS_NUMERIC_CHARACTERS ... 3-24 通貨パラメータ 通貨パラメータ通貨パラメータ 通貨パラメータ ... 3-26 通貨書式 ... 3-26 NLS_CURRENCY ... 3-26 NLS_ISO_CURRENCY ... 3-27 NLS_DUAL_CURRENCY ... 3-28 NLS_MONETARY_CHARACTERS ... 3-30 NLS_CREDIT ... 3-30 NLS_DEBIT ... 3-30 言語ソート・パラメータ 言語ソート・パラメータ言語ソート・パラメータ 言語ソート・パラメータ ... 3-31 NLS_SORT ... 3-31 NLS_COMP ... 3-32 NLS_LIST_SEPARATOR ... 3-33 キャラクタ・セット・パラメータ キャラクタ・セット・パラメータキャラクタ・セット・パラメータ キャラクタ・セット・パラメータ ... 3-33 NLS_NCHAR_CONV_EXCP ... 3-33

4

言語ソート

言語ソート

言語ソート

言語ソート

Oracle のソート機能の概要のソート機能の概要のソート機能の概要のソート機能の概要 ... 4-2 バイナリ・ソートの使用 バイナリ・ソートの使用バイナリ・ソートの使用 バイナリ・ソートの使用 ... 4-2 言語ソートの使用 言語ソートの使用言語ソートの使用 言語ソートの使用 ... 4-2 単一言語ソート ... 4-3 多言語ソート ... 4-3 一般的な言語ソート情報 ... 4-6 言語索引の使用 言語索引の使用言語索引の使用 言語索引の使用 ... 4-9 複数言語の言語索引 ... 4-10 言語索引の要件 ... 4-11 大 / 小文字を区別しない検索 ... 4-12 言語ソートのカスタマイズ ... 4-12

5

Unicode を使用した多言語データベースのサポート

を使用した多言語データベースのサポート

を使用した多言語データベースのサポート

を使用した多言語データベースのサポート

Unicode の概要の概要の概要 ... 5-2の概要 Unicode の概要 ... 5-2 Unicode エンコーディング ... 5-3

(6)

Unicode ソリューションのデータベースへの実装ソリューションのデータベースへの実装ソリューションのデータベースへの実装 ... 5-4ソリューションのデータベースへの実装 Unicode データベースを使用した多言語サポートの有効化 ... 5-5 Unicode データ型を使用した多言語サポートの有効化 ... 5-6 Unicode データベースと Unicode データ型のソリューションの選択方法 ... 5-7 Unicode ソリューションの比較 ... 5-10 Unicode の事例の事例の事例 ... 5-12の事例 Unicode へのデータの移行へのデータの移行へのデータの移行 ... 5-14へのデータの移行 Unicode データベースへの移行 ... 5-15 NCHAR データ型の使用への移行 ... 5-16 複数言語サポートのためのデータベース・スキーマ設計 複数言語サポートのためのデータベース・スキーマ設計複数言語サポートのためのデータベース・スキーマ設計 複数言語サポートのためのデータベース・スキーマ設計 ... 5-17 列の上限の指定 ... 5-17 複数言語のデータの格納 ... 5-18 ドキュメントの LOB 内への格納 ... 5-19

6

Unicode プログラミング

プログラミング

プログラミング

プログラミング

Unicode プログラミングの概要プログラミングの概要プログラミングの概要 ... 6-2プログラミングの概要 データベース・アクセス製品のスタックおよび Unicode ... 6-2 Unicode を使用したを使用したを使用した SQL とを使用した とと PL/SQL のプログラミングと のプログラミングのプログラミングのプログラミング ... 6-4 NCHAR を使用した UTL_FILE パッケージの使用 ... 6-10 Unicode を使用したを使用したを使用した OCI プログラミングを使用した プログラミングプログラミングプログラミング ... 6-11 OCI Unicode のコード変換 ... 6-11 OCI で NLS_LANG を設定して UTF8 または AL32UTF8 を使用する場合 ... 6-14 OCI での SQL CHAR データ型のバインドと定義 ... 6-15 OCI での SQL NCHAR データ型のバインドと定義 ... 6-16 OCI での CLOB Unicode データおよび NCLOB Unicode データのバインドと定義 ... 6-17 OCI での Unicode モード ... 6-18 Unicode を使用したを使用したを使用した Pro*C/C++ プログラミングを使用した プログラミングプログラミング ... 6-19プログラミング Unicode での Pro*C/C++ データ変換 ... 6-20 VARCHAR データ型の使用 ... 6-21 NVARCHAR データ型の使用 ... 6-21 UVARCHAR データ型の使用 ... 6-22 Unicode を使用したを使用したを使用した JDBC とを使用した ととと SQLJ のプログラミングのプログラミングのプログラミングのプログラミング ... 6-23 Unicode での Java 文字列のバインドと定義 ... 6-23 JDBC に関する制限事項 ... 6-25 Unicode での Java データ変換 ... 6-25

(7)

Unicode を使用したを使用したを使用した ODBC とを使用した ととと OLEDB のプログラミングのプログラミングのプログラミングのプログラミング ... 6-27 ODBC と OLEDB の Unicode 対応ドライバ ... 6-27 Unicode での OCI 依存性 ... 6-27 Unicode での ODBC と OLEDB のコード変換 ... 6-27 ODBC の Unicode データ型 ... 6-29 OLEDB の Unicode データ型 ... 6-30 ADO アクセス ... 6-31

7

SQL プログラミング

プログラミング

プログラミング

プログラミング

ロケール依存の ロケール依存のロケール依存の ロケール依存の SQL ファンクションファンクションファンクションファンクション ... 7-2 デフォルトの指定 ... 7-2 パラメータの指定 ... 7-3 受け入れられないパラメータ ... 7-4 CONVERT ファンクション ... 7-5 INSTR ファンクション、LENGTH ファンクション、SUBSTR ファンクションと

キャラクタ・セット ... 7-6 LIKE 条件とキャラクタ・セット ... 7-8 キャラクタ・セットの SQL ファンクション ... 7-8 NLSSORT ファンクション ... 7-9 時刻 時刻時刻 時刻 / 日付日付日付日付 / カレンダの書式カレンダの書式カレンダの書式カレンダの書式 ... 7-12 日付書式 ... 7-12 数値書式 数値書式数値書式 数値書式 ... 7-13 その他のトピック その他のトピックその他のトピック その他のトピック ... 7-13 連結演算子 ... 7-13

8

OCI プログラミング

プログラミング

プログラミング

プログラミング

OCI NLS 関数の使用関数の使用関数の使用関数の使用 ... 8-2 NLS 言語情報の取出し言語情報の取出し言語情報の取出し ... 8-2言語情報の取出し OCINlsGetInfo ... 8-3 OCI_Nls_MaxBufSz ... 8-7 NLS 言語情報の取出しのサンプル・コード ... 8-8 OCI での文字列操作での文字列操作での文字列操作での文字列操作 ... 8-8 OCIMultiByteToWideChar ... 8-11 OCIMultiByteInSizeToWideChar ... 8-11 OCIWideCharToMultiByte ... 8-12

(8)

OCIWideCharInSizeToMultiByte ... 8-13 OCIWideCharToLower ... 8-14 OCIWideCharToUpper ... 8-14 OCIWideCharStrcmp ... 8-15 OCIWideCharStrncmp ... 8-16 OCIWideCharStrcat ... 8-17 OCIWideCharStrchr ... 8-17 OCIWideCharStrcpy ... 8-18 OCIWideCharStrlen ... 8-18 OCIWideCharStrncat ... 8-19 OCIWideCharStrncpy ... 8-19 OCIWideCharStrrchr ... 8-20 OCIWideCharStrCaseConversion ... 8-21 OCIWideCharDisplayLength ... 8-21 OCIWideCharMultiByteLength ... 8-22 OCIMultiByteStrcmp ... 8-22 OCIMultiByteStrncmp ... 8-23 OCIMultiByteStrcat ... 8-24 OCIMultiByteStrcpy ... 8-25 OCIMultiByteStrlen ... 8-25 OCIMultiByteStrncat ... 8-26 OCIMultiByteStrncpy ... 8-26 OCIMultiByteStrnDisplayLength ... 8-27 OCIMultiByteStrCaseConversion ... 8-27 文字列操作のサンプル・コード ... 8-28 OCI での文字の分類での文字の分類での文字の分類での文字の分類 ... 8-29 OCIWideCharIsAlnum ... 8-29 OCIWideCharIsAlpha ... 8-30 OCIWideCharIsCntrl ... 8-30 OCIWideCharIsDigit ... 8-31 OCIWideCharIsGraph ... 8-31 OCIWideCharIsLower ... 8-32 OCIWideCharIsPrint ... 8-32 OCIWideCharIsPunct ... 8-33 OCIWideCharIsSpace ... 8-33 OCIWideCharIsUpper ... 8-34 OCIWideCharIsXdigit ... 8-34 OCIWideCharIsSingleByte ... 8-35

(9)

OCI でのキャラクタ・セット変換でのキャラクタ・セット変換でのキャラクタ・セット変換でのキャラクタ・セット変換 ... 8-36 OCICharSetToUnicode ... 8-36 OCIUnicodeToCharSet ... 8-37 OCICharSetConversionIsReplacementUsed ... 8-38 OCI でのメッセージ機能でのメッセージ機能でのメッセージ機能でのメッセージ機能 ... 8-40 OCIMessageOpen ... 8-40 OCIMessageGet ... 8-41 OCIMessageClose ... 8-42 LMSGEN ... 8-43 テキスト・メッセージ・ファイルの形式 ... 8-43 メッセージの例 ... 8-44

9

Java プログラミング

プログラミング

プログラミング

プログラミング

Oracle9i Java サポートの概要サポートの概要サポートの概要サポートの概要 ... 9-2 JDBC ... 9-3 JDBC を使用した SQL CHAR データ型へのアクセス ... 9-4 JDBC を使用した SQL NCHAR データ型へのアクセス ... 9-7 oracle.sql.CHAR クラスの使用 ... 9-8 oracle.sql.CHAR クラスへのデータの取出し ... 9-8 NLS 制限事項 ... 9-10 SQLJ ... 9-13 SQLJ プログラムでの Unicode 文字の使用 ... 9-13 oracle.sql.NString クラスの使用 ... 9-14 Java Virtual Machine ... 9-14 Java ストアド・プロシージャストアド・プロシージャストアド・プロシージャストアド・プロシージャ ... 9-16 Java Servlet およびおよびおよびおよび JavaServer Pages ... 9-17 CORBA およびおよびおよびおよび EJB ... 9-20 CORBA ORB ... 9-20 Enterprise JavaBeans ... 9-24 多言語アプリケーションの構成 多言語アプリケーションの構成多言語アプリケーションの構成 多言語アプリケーションの構成 ... 9-27 多言語データベースの構成 ... 9-27 Java サーバー・オブジェクトの国際化 ... 9-28 言語が異なるクライアント ... 9-29 SQLJ の多言語デモ・アプリケーションの多言語デモ・アプリケーションの多言語デモ・アプリケーションの多言語デモ・アプリケーション ... 9-30 データベース・スキーマ ... 9-30 Java ストアド・プロシージャ ... 9-31 SQLJ クライアント ... 9-34

(10)

10

Character Set Scanner ユーティリティ

ユーティリティ

ユーティリティ

ユーティリティ

キャラクタ・セットの選択と移行の概要 キャラクタ・セットの選択と移行の概要キャラクタ・セットの選択と移行の概要 キャラクタ・セットの選択と移行の概要 ... 10-2 データの切捨て ... 10-2 キャラクタ・セットの変換 ... 10-4 データベース・キャラクタ・セットの移行 データベース・キャラクタ・セットの移行データベース・キャラクタ・セットの移行 データベース・キャラクタ・セットの移行 ... 10-7 データ・スキャニング ... 10-7 データの変換 ... 10-7 Character Set Scanner ユーティリティの概要ユーティリティの概要ユーティリティの概要 ... 10-10ユーティリティの概要 文字データの変換テスト ... 10-10 アクセス権限 ... 10-10 制限事項 ... 10-11 2 つ以上のキャラクタ・セットからのデータを含むデータベース ... 10-11 データベース・キャラクタ・セットからのデータを含まないデータベース ... 10-11 スキャナのスキャン・モード スキャナのスキャン・モードスキャナのスキャン・モード スキャナのスキャン・モード ... 10-12 全データベース・スキャン ... 10-12 ユーザー表のスキャン ... 10-12 単一表のスキャン ... 10-12 スキャナの使用 スキャナの使用スキャナの使用 スキャナの使用 ... 10-13 スキャナを使用する前に ... 10-13 互換性 ... 10-14 スキャナの起動 ... 10-14 スキャナのオンライン・ヘルプの利用 ... 10-15 パラメータ・ファイル ... 10-16 スキャナ・パラメータ スキャナ・パラメータスキャナ・パラメータ スキャナ・パラメータ ... 10-16 ARRAY ... 10-16 BOUNDARIES ... 10-17 CAPTURE ... 10-17 FEEDBACK ... 10-18 FROMCHAR ... 10-18 FROMNCHAR ... 10-18 FULL ... 10-19 HELP ... 10-19 LASTRPT ... 10-19 LOG ... 10-20 MAXBLOCKS ... 10-20 PARFILE ... 10-20

(11)

PROCESS ... 10-21 SUPPRESS ... 10-21 TABLE ... 10-21 TOCHAR ... 10-22 TONCHAR ... 10-22 USER ... 10-22 USERID ... 10-22 サンプル・スキャナ・セッション サンプル・スキャナ・セッションサンプル・スキャナ・セッション サンプル・スキャナ・セッション ... 10-23 全データベース・スキャンのサンプル・セッション ... 10-23 ユーザー表スキャンのサンプル・セッション ... 10-24 単一表スキャンのサンプル・セッション ... 10-25 スキャナ・レポート ... 10-26 データベース・スキャンのサマリー・レポート ... 10-26 個別例外レポート ... 10-32 スキャナの記憶域とパフォーマンスに関する考慮事項 スキャナの記憶域とパフォーマンスに関する考慮事項スキャナの記憶域とパフォーマンスに関する考慮事項 スキャナの記憶域とパフォーマンスに関する考慮事項 ... 10-34 記憶域に関する考慮事項 ... 10-34 パフォーマンスに関する考慮事項 ... 10-35 スキャナ・ユーティリティのリファレンス・データ スキャナ・ユーティリティのリファレンス・データスキャナ・ユーティリティのリファレンス・データ スキャナ・ユーティリティのリファレンス・データ ... 10-36 スキャナ・ビュー ... 10-36 スキャナのメッセージ ... 10-39

11

Oracle Locale Builder ユーティリティ

ユーティリティ

ユーティリティ

ユーティリティ

Locale Builder ユーティリティの概要ユーティリティの概要ユーティリティの概要ユーティリティの概要 ... 11-2 Locale Builder 用の Unicode フォントの構成 ... 11-2 Locale Builder インタフェース ... 11-3 Locale Builder の一般的に使用される画面 ... 11-4 制限事項 ... 11-5 Locale Builder を使用した言語定義の設定を使用した言語定義の設定を使用した言語定義の設定を使用した言語定義の設定 ... 11-9 Locale Builder を使用した地域定義の設定を使用した地域定義の設定を使用した地域定義の設定を使用した地域定義の設定 ... 11-12 Locale Builder を使用したキャラクタ・セット定義の設定を使用したキャラクタ・セット定義の設定を使用したキャラクタ・セット定義の設定を使用したキャラクタ・セット定義の設定 ... 11-17 ユーザー定義文字(UDC)とキャラクタ・セット ... 11-17 Oracle のキャラクタ・セット変換アーキテクチャ ... 11-18 Unicode 3.0 の Private Use Area ... 11-19 UDC クロス・リファレンス ... 11-19 キャラクタ・セット定義ファイルの表記規則 ... 11-20 Locale Builder キャラクタ・セットの使用例 ... 11-21

(12)

Locale Builder を使用したソートを使用したソートを使用したソートを使用したソート ... 11-25 アクセントを持つ複数の文字でソート順序を変更 ... 11-28 アクセントを持つ 1 つの文字でソート順序を変更 ... 11-31 NLB ファイルの生成 ... 11-32 新規 NLB ファイルの使用 ... 11-33

12

ロケール・データのカスタマイズ

ロケール・データのカスタマイズ

ロケール・データのカスタマイズ

ロケール・データのカスタマイズ

キャラクタ・セットのカスタマイズ キャラクタ・セットのカスタマイズキャラクタ・セットのカスタマイズ キャラクタ・セットのカスタマイズ ... 12-2 キャラクタ・セットのカスタマイズ例 ... 12-2 ユーザー定義キャラクタ・セットと Java の使用 ... 12-4 タイム・ゾーン・データのカスタマイズ タイム・ゾーン・データのカスタマイズタイム・ゾーン・データのカスタマイズ タイム・ゾーン・データのカスタマイズ ... 12-6 カレンダのカスタマイズ カレンダのカスタマイズカレンダのカスタマイズ カレンダのカスタマイズ ... 12-7 NLS カレンダ・ユーティリティ ... 12-7 NLS データ・インストール・ユーティリティデータ・インストール・ユーティリティデータ・インストール・ユーティリティ ... 12-8データ・インストール・ユーティリティ 構文 ... 12-9 リターン・コード ... 12-10 使用方法 ... 12-10

A

ロケール・データ

ロケール・データ

ロケール・データ

ロケール・データ

言語 言語言語 言語 ... A-2 翻訳済みメッセージ 翻訳済みメッセージ翻訳済みメッセージ 翻訳済みメッセージ ... A-4 地域 地域地域 地域 ... A-5 キャラクタ・セット キャラクタ・セットキャラクタ・セット キャラクタ・セット ... A-6 アジア地域言語のキャラクタ・セット ... A-7 ヨーロッパ地域言語のキャラクタ・セット ... A-9 中東地域言語のキャラクタ・セット ... A-16 ユニバーサル・キャラクタ・セット ... A-19 キャラクタ・セット変換のサポート ... A-19 サブセットとスーパーセット ... A-20 言語ソート 言語ソート言語ソート 言語ソート ... A-23 暦法 暦法暦法 暦法 ... A-26 廃止されたロケール・データ 廃止されたロケール・データ廃止されたロケール・データ 廃止されたロケール・データ ... A-29 AL24UTFFSS キャラクタ・セットのサポートの廃止 ... A-30

(13)

B

Unicode 文字コードの割当て

文字コードの割当て

文字コードの割当て

文字コードの割当て

Unicode 文字コードの割当て文字コードの割当て文字コードの割当て ... B-2文字コードの割当て UTF-16 エンコーディング ... B-3 UTF-8 エンコーディング ... B-3

用語集

用語集

用語集

用語集

索引

索引

索引

索引

(14)
(15)

はじめに

はじめに

はじめに

はじめに

このマニュアルには、Oracle のグローバリゼーション・サポートの機能に関する情報が記載 されています。 ここでは、次の項目について説明します。 ■ 対象読者 ■ このマニュアルの構成 ■ 関連文書 ■ 表記規則

(16)

対象読者

対象読者

対象読者

対象読者

このマニュアルは、使用するデータベースまたはアプリケーションに、グローバリゼーショ ン・サポートを組み込む必要があるデータベース管理者、システム管理者およびデータベー ス・アプリケーション開発者を対象にしています。 このマニュアルを活用するには、リレーショナル・データベースの概念、Oracle サーバーの 基本概念および Oracle を稼働しているオペレーティング・システム環境についての理解が 必要です。 このマニュアルの情報は、管理者の他に、経験豊富な Oracle ユーザーや上級のデータベー ス・アプリケーション設計者にも有用です。 ただし、データベース・アプリケーション開発 者は、『Oracle9i アプリケーション開発者ガイド - 基礎編』および Oracle データベース・ア プリケーションの開発に使用するツールまたは言語製品のマニュアルも参照してください。

このマニュアルの構成

このマニュアルの構成

このマニュアルの構成

このマニュアルの構成

このマニュアルの構成は、次のとおりです。 第 第第 第 1 章「章「章「章「グローバリゼーション・サポートグローバリゼーション・サポートグローバリゼーション・サポートグローバリゼーション・サポート」」」」 この章では、グローバリゼーションの概要と Oracle のグローバリゼーションに対するアプ ローチについて説明します。 第 第第 第 2 章「章「章「章「キャラクタ・セットの選択キャラクタ・セットの選択キャラクタ・セットの選択キャラクタ・セットの選択」」」」 この章では、キャラクタ・セットの選択方法について説明します。 第 第第 第 3 章「章「章「章「グローバリゼーション・サポート環境の設定グローバリゼーション・サポート環境の設定グローバリゼーション・サポート環境の設定グローバリゼーション・サポート環境の設定」」」」 この章では、グローバリゼーション機能を有効に使用する例を記述します。 第 第第 第 4 章「章「章「章「言語ソート言語ソート言語ソート言語ソート」」」」 この章では、言語ソートについて説明します。 第 第第 第 5 章「章「章「章「Unicode を使用した多言語データベースのサポートを使用した多言語データベースのサポートを使用した多言語データベースのサポート」を使用した多言語データベースのサポート」」」 この章では、データベースに関する Unicode の考慮事項について説明します。 第 第第 第 6 章「章「章「章「Unicode プログラミングプログラミングプログラミング」プログラミング」」」 この章では、Unicode 環境でのプログラミング方法について説明します。 第 第第 第 7 章「章「章「章「SQL プログラミングプログラミングプログラミングプログラミング」」」」 この章では、SQL プログラミングに関するグローバリゼーションの考慮事項について説明し ます。

(17)

第 第第 第 8 章「章「章「章「OCI プログラミングプログラミングプログラミング」プログラミング」」」 この章では、OCI プログラミングに関するグローバリゼーションの考慮事項について説明し ます。 第 第第 第 9 章「章「章「章「Java プログラミングプログラミングプログラミング」プログラミング」」」 この章では、Java に関するグローバリゼーションの考慮事項について説明します。 第 第第

第 10 章「章「章「Character Set Scanner ユーティリティ章「 ユーティリティユーティリティ」ユーティリティ」」」

この章では、文字データの分析に必要な Character Set Scanner ユーティリティの使用方法に ついて説明します。

第 第第

第 11 章「章「章「Oracle Locale Builder ユーティリティ章「 ユーティリティユーティリティユーティリティ」」」」

この章では、ロケールのカスタマイズに必要な Oracle Locale Builder ユーティリティの使用 方法について説明します。 第 第第 第 12 章「章「章「ロケール・データのカスタマイズ章「ロケール・データのカスタマイズロケール・データのカスタマイズ」ロケール・データのカスタマイズ」」」 この章では、NLS データ・オブジェクトのカスタマイズ方法について説明します。 付録 付録付録 付録 A「「「ロケール・データ「ロケール・データロケール・データロケール・データ」」」」 この付録では、Oracle サーバーでサポートされている言語、地域、キャラクタ・セットおよ びその他のロケール・データについて説明します。 付録 付録付録 付録 B「「Unicode 文字コードの割当て「 文字コードの割当て文字コードの割当て」文字コードの割当て」」」 この付録では、Unicode のコード割当てを記述します。 用語集 用語集用語集 用語集 用語集では、グローバリゼーション・サポートに関する用語の定義を記述します。

(18)

関連文書

関連文書

関連文書

関連文書

詳細は、次の Oracle のマニュアルを参照してください。 ■ 『Oracle9i アプリケーション開発者ガイド - 基礎編』 リリース・ノート、インストレーション・マニュアル、ホワイト・ペーパーまたはその他の 関連ドキュメントは、Oracle Technology Network Japan(OTN Japan)に接続すれば、無償

でダウンロードできます。 OTN を使用するには、オンラインでの登録が必要です。次の

URL で登録できます。

http://otn.oracle.co.jp/membership/

OTN のユーザー名とパスワードを取得済みであれば、次の OTN Web サイトのドキュメン ト・セクションに直接接続できます。 http://otn.oracle.co.jp/document/

表記規則

表記規則

表記規則

表記規則

このマニュアル・セットの本文とコード例に使用されている表記規則について説明します。 ■ 本文の表記規則 ■ コード例の表記規則

本文の表記規則

本文の表記規則

本文の表記規則

本文の表記規則

本文中には、特別な用語が一目でわかるように様々な表記規則が使用されています。 次の表 は、本文の表記規則と使用例を示しています。

(19)

コード例の表記規則

コード例の表記規則

コード例の表記規則

コード例の表記規則

コード例では、SQL、PL/SQL、SQL*Plus またはその他のコマンドライン文を示します。 次 のように、固定幅フォントで、通常の本文とは区別して記載されています。

SELECT username FROM dba_users WHERE username = 'MIGRATE';

次の表は、コード例の記載上の表記規則と使用例を示しています。 表記規則 表記規則表記規則 表記規則 意味意味意味意味 例例例例 太字 太字太字 太字 太字は、本文中に定義されている用語また は用語集に含まれている用語、あるいはそ の両方を示します。 ub4、sword または OCINumber などのC データ 型が有効です。 この句を指定する場合は、索引構成表索引構成表索引構成表を作成しま索引構成表 す。 イタリック イタリックは、重要語句、構文の句または プレースホルダを示します。 parallel_clause を指定できます。 Uold_release.SQL を実行します。old_release は アップグレード前にインストールしたリリースを 指します。 固定幅フォントの 大文字 固定幅フォントの大文字は、システムによ り指定される要素を示します。 この要素に は、パラメータ、権限、データ型、RMAN キーワード、SQL キーワード、SQL*Plus ま たはユーティリティ・コマンド、パッケー ジとメソッド、システム指定の列名、デー タベース・オブジェクトと構造体、ユー ザー名、およびロールがあります。 この句は NUMBER 列に対してのみ指定できます。 BACKUP コマンドを使用すると、データベースの バックアップを作成できます。 USER_TABLES データ・ディクショナリ・ビュー の TABLE_NAME 列を問い合せます。 ROLLBACK_SEGMENTS パラメータを指定します。 DBMS_STATS.GENERATE_STATS プロシージャを 使用します。 固定幅フォントの 小文字 固定幅フォントの小文字は、実行可能ファ イルとサンプルのユーザー指定要素を示し ます。 この要素には、コンピュータ名とデー タベース名、ネット・サービス名、接続識 別子の他、ユーザー指定のデータベース・ オブジェクトや構造体、列名、パッケージ とクラス、ユーザー名とロール、プログラ ム・ユニット、およびパラメータ値があり ます。 sqlplus と入力してSQL*Plus をオープンしま す。 department_id、department_name および location_id の各列は、hr.departments 表に あります。 初期化パラメータ QUERY_REWRITE_ENABLED を true に設定します。 oe ユーザーで接続します。

(20)

表記規則 表記規則表記規則 表記規則 意味意味意味意味 例例例例 [ ] 大カッコで囲まれている項目は、1 つ以上の オプション項目を示します。 大カッコ自体は 入力しないでください。

DECIMAL (digits [ , precision ])

{ } 中カッコで囲まれている項目は、そのうち の 1 つのみが必要であることを示します。 中 カッコ自体は入力しないでください。 {ENABLE | DISABLE} | 垂直バーは、大カッコまたは中カッコ内の 複数の選択肢を区切るために使用します。 オ プションのうち 1 つを入力します。 垂直バー 自体は入力しないでください。 {ENABLE | DISABLE} [COMPRESS | NOCOMPRESS] ... 水平の省略記号は、次のいずれかを示しま す。 ■ 例に直接関係のないコード部分が省略 されていること。 ■ コードの一部が繰返し可能なこと。

CREATE TABLE ... AS subquery;

SELECT col1, col2, ... , coln FROM employees; . . . 垂直の省略記号は、例に直接関係のない数 行のコードが省略されていることを示しま す。 その他の表記 大カッコ、中カッコ、垂直バーおよび省略 記号以外の記号は、表示されているとおり に入力してください。 acctbal NUMBER(11,2);

acct CONSTANT NUMBER(4) := 3;

イタリック イタリックの文字は、特定の値を指定する 必要のある変数を示します。 CONNECT SYSTEM/system_password 大文字 大文字は、システムにより指定される要素 を示します。 これらの用語は、ユーザー定義 の用語と区別するために大文字で記載され ています。 大カッコで囲まれている場合を除 き、記載されているとおりの順序とスペル で入力してください。 ただし、この種の用語 は大 / 小文字の区別がないため、小文字で も入力できます。

SELECT last_name, employee_id FROM employees;

SELECT * FROM USER_TABLES; DROP TABLE hr.employees;

小文字 小文字は、ユーザー指定のプログラム要素

を示します。 たとえば、表名、列名または ファイル名を示します。

SELECT last_name, employee_id FROM employees;

(21)

1

グローバリゼーション・サポート

グローバリゼーション・サポート

グローバリゼーション・サポート

グローバリゼーション・サポート

この章では、Oracle グローバリゼーション・サポートの概要を説明します。 この章の内容 は、次のとおりです。 ■ Oracle サーバーのグローバリゼーション・サポート・アーキテクチャ ■ グローバリゼーション・サポートの機能

(22)

Oracle サーバーのグローバリゼーション・サポート・アーキテクチャ

Oracle サーバーのグローバリゼーション・サポート・アーキテ

サーバーのグローバリゼーション・サポート・アーキテ

サーバーのグローバリゼーション・サポート・アーキテ

サーバーのグローバリゼーション・サポート・アーキテ

クチャ

クチャ

クチャ

クチャ

Oracle のグローバリゼーション・サポート・アーキテクチャによって、データの格納、処理 および取出しをネイティブ言語で実行できます。 このアーキテクチャによって、データベー ス・ユーティリティ、エラー・メッセージ、ソート順序、日付、時刻、通貨単位、数値およ びカレンダに関する規則が、各国の言語やロケールに自動的に適応されます。 Oracle のグ ローバリゼーション・サポート機能は、以前は各国語サポート(NLS)と呼ばれていまし た。 各国語サポートは、グローバリゼーション・サポートのサブセットです。これは、 Oracle データベースでは、1 つの言語の処理や 1 つのキャラクタ・セットによるデータ格納 以外にも多数の機能を実行できるためです。 グローバリゼーション・サポートを使用すると、 変更なしで世界中から同時にアクセスして実行できる多言語アプリケーションやソフトウェ ア製品の開発が可能になります。 アプリケーションでは、ユーザーの母国語と選択したロ ケールで内容を表示できます

ロケール非依存操作

ロケール非依存操作

ロケール非依存操作

ロケール非依存操作

Oracle のグローバリゼーション・サポート・アーキテクチャは、Oracle NLS Runtime Library(NLSRTL)とともに実装されます。 NLS ランタイム・ライブラリは、広範囲にわた る言語非依存の関数のパッケージを提供します。これによって、適切なテキストと文字の処 理および言語規則に従った操作を行うことができます。 特定の言語や地域に対応した関数の 動作は、実行時に指定してロードされたロケール固有のデータ・セットによって制御されま す。 図 1-1に、実行時のロケール固有データのロードについて示します。 例として、フランス語 と日本語のロケール・データがロードされています。 図 図図 図 1-1 実行時のロケール固有データのロード実行時のロケール固有データのロード実行時のロケール固有データのロード実行時のロケール固有データのロード 多言語 データベース フランス語 データ 日本 語 デー タ フランス語 ドイツ語 日本語

(23)

Oracle サーバーのグローバリゼーション・サポート・アーキテクチャ ロケール固有データは、環境変数 ORA_NLS* で指定されたディレクトリに格納されていま す。 Oracle データベースの新規リリースによって、対応する ORA_NLS データ・ディレクト リはそれぞれ異なります。 Oracle9i の場合は、ORA_NLS33 ディレクトリが使用されます。 た とえば、ほとんどの UNIX プラットフォームでは、環境変数 ORA_NLS33 を $ORACLE_HOME/ocommon/nls/admin/data に設定する必要があります。 Win32 プラット フォームでは、ORACLE_HOME ディレクトリにある Oracle のリリースが 1 つのみの場合は、 インストーラで設定したデフォルトを使用します。 複数バージョンの Oracle 環境でシステムを実行している場合は、環境変数 ORA_NLS* (ORA_NLS33 など)が適切に設定され、そのリリースに対応する NLS データファイルが使 用可能であることを確認してください。 ロードする有効な NLS オブジェクトは、ブート・ファイルを使用して指定します。 Oracle では、システムとユーザーの両方のブート・ファイルをサポートしています。 ユーザーの ブート・ファイルを使用すると、そのデータベースで使用可能な NLS ロケール・オブジェ クトを柔軟に調整でき、それによって、メモリーの消費を制御できます。 また、新しいロ ケール・データを追加したり、一部のロケール・データ・コンポーネントをカスタマイズす ることができます。 表 表表 表 1-1 NLS データの位置データの位置データの位置データの位置 リリース 環境変数 7.2 ORA_NLS 7.3 ORA_NLS32 8.0、 8.1、 9.0.1 ORA_NLS33 関連項目 関連項目関連項目 関連項目 : データのカスタマイズの詳細は、第 11 章「Oracle Locale Builder ユーティリティ」を参照してください。

(24)

Oracle サーバーのグローバリゼーション・サポート・アーキテクチャ

複数層アーキテクチャ

複数層アーキテクチャ

複数層アーキテクチャ

複数層アーキテクチャ

Oracle9i データベースは、複数層アーキテクチャを使用して実装されます。 言語依存操作は、 クライアントとデータベース・サーバーの両方にある複数のパラメータと環境変数によって 制御されます。 データベース・サーバーでは、クライアント用に起動された各セッションが 同じまたは異なるロケールで実行され、同じまたは異なる言語要件が指定されることがあり ます。 データベース自体にも、セッションに依存しない NLS パラメータのセットが作成時に指定 されます。 この 2 つのパラメータによって、データベース・キャラクタ・セットと各国語 (Unicode)キャラクタ・セットが指定されます。 このパラメータは、テキスト・データを データベースに格納するために使用するキャラクタ・セットを指定します。 他のパラメータ (言語や地域など)は、CHECK 制約の評価で使用されます。 クライアント・セッションとデータベース・サーバーが異なるキャラクタ・セットを指定し ている場合、Oracle9i データベースでは、キャラクタ・セットの文字列を自動的に変換しま す。 グローバリゼーション・サポートの観点では、すべてのアプリケーションは、Oracle インス タンスと物理的に同じマシン上で実行している場合でも、クライアントとみなされます。 た とえば、Oracle ソフトウェア所有者である UNIX ユーザーが、SQL*Plus を RDBMS ソフト ウェアがインストールされている Oracle ホームから起動し、ORACLE_SID, SQL*Plus を 指定してアダプタ経由でデータベースに接続している場合、この SQL*Plus はクライアント とみなされ、その動作はクライアント側の NLS パラメータによって規定されます。 別の例を あげると、中間層がアプリケーション・サーバーで、そのサーバーによって様々なセッショ ンが起動されている場合、そのセッションは個別のクライアント・セッションとみなされま す。 クライアント・アプリケーションが起動されると、環境設定に従ってクライアントの NLS 環境が初期化されます。 ローカルで実行される NLS 操作は、すべてこの設定を使用して実行 されます。 たとえば、Oracle Developer アプリケーションの(項目書式マスクを使用した) ディスプレイ・フォーマット化や、OCI 環境ハンドルを使用して NLS OCI 関数を実行する ユーザー OCI コードなどは、ローカルの NLS 操作です。 アプリケーションをデータベースに接続すると、サーバー上にセッションが作成されます。 新しいセッションは、初期化パラメータ・ファイルに指定された NLS インスタンス・パラ メータに従って、NLS 環境を初期化します。 この設定は、ALTER SESSION 文により、後で 変更できます。 この文によって変更されるのは、そのセッションの NLS 環境のみです。 ロー カル・クライアントの NLS 環境は変更されません。 セッションの NLS 設定は、サーバー上 で実行される SQL 文と PL/SQL 文の処理に使用されます。 NLS_LANG 環境設定がクライアント側で定義されている場合は、接続直後に ALTER SESSION 文が暗黙的にクライアントとセッションのNLS 環境を同期させます。 関連項目 関連項目関連項目 関連項目 : 第 8 章「OCI プログラミング」 関連項目 関連項目関連項目 関連項目 : 第 3 章「グローバリゼーション・サポート環境の設定」

(25)

グローバリゼーション・サポートの機能

Unicode

Unicode とは、コード化されたユニバーサル・キャラクタ・セットのことです。このセット を使用すると、1 つのキャラクタ・セットを使用して任意の言語の情報を格納できます。 Unicode には、プラットフォーム、プログラムまたは言語に関係なく、すべての文字に対す る一意のコード値が用意されています。 Unicode をクライアント / サーバーまたは複数層のアプリケーションや Web サイトに取り 込むことで、従来のキャラクタ・セットを使用した場合に比べ、大幅にコストを節約できま す。 Unicode によって、1 つのソフトウェア製品または 1 つの Web サイトを、複数のプラッ トフォーム、言語および国に再設計なしで対応させることができます。 また、多数の異なる システムを介して、データを破損せずに転送できます。

グローバリゼーション・サポートの機能

グローバリゼーション・サポートの機能

グローバリゼーション・サポートの機能

グローバリゼーション・サポートの機能

Oracle の標準機能には、次の内容が含まれています。 ■ 言語サポート ■ 地域サポート ■ 日付と時刻の書式 ■ 通貨と数値の書式 ■ カレンダ ■ 言語ソート ■ キャラクタ・セット・サポート ■ カスタマイズ

言語サポート

言語サポート

言語サポート

言語サポート

Oracle9i データベースでは、データの格納、処理および取出しをネイティブ言語で行うこと ができます。 Oracle9i データベースに格納できる言語は、Oracle がサポートしているキャラ クタ・セットでコード化されているスクリプトで記述されたすべての言語です。 Unicode データベースとデータ型を使用することで、Oracle9i は、ほとんどの現代言語をサポートし ています。 各国語のサブセットに対しては、追加サポートが用意されています。 たとえば、Oracle9i データベースでは、翻訳された月の名前を使用して日付を表示したり、文化的な慣習に従っ てテキスト・データをソートすることができます。 関連項目 関連項目関連項目 関連項目 : ■ 第 5 章「Unicode を使用した多言語データベースのサポート」 ■ 第 6 章「Unicode プログラミング」

(26)

グローバリゼーション・サポートの機能 このマニュアルで使用している言語サポート言語サポート言語サポートという用語は、言語依存の追加機能を指してお言語サポート り、その言語のテキストを格納できることを示すわけではありません。 一部のサポート対象言語については、翻訳されたエラー・メッセージやデータベース・ユー ティリティに関する翻訳済みユーザー・インタフェースが用意されています。

地域サポート

地域サポート

地域サポート

地域サポート

Oracle9i データベースでは、地域に固有な文化的慣習をサポートしています。 デフォルトの ローカル時刻書式、日付書式、数値および通貨単位に関する規則は、ローカル地域設定に よって異なります。 多様な NLS パラメータの設定によって、データベース・セッションでは 様々な文化的設定を使用できます。 たとえば、地域が AMERICA と定義されている場合でも、 指定したデータベース・セッションに、主要通貨として英ポンド(GBP)を、第 2 通貨とし て日本円(JPY)を設定できます。

日付と時刻の書式

日付と時刻の書式

日付と時刻の書式

日付と時刻の書式

時間、日、月および年に関する多様な表記規則は、ローカル書式で処理されます。 たとえば、 日付の表示の場合、英国では DD-MON-YYYY 書式が使用され、日本では一般的に YYYY-MM-DD 書式が使用されます。 タイム・ゾーンや夏時間もサポートされます。

通貨と数値の書式

通貨と数値の書式

通貨と数値の書式

通貨と数値の書式

通貨、貸方および借方の記号は、ローカル書式で表すことができます。 基数記号と 3 桁区切 りは、ロケールで定義できます。 たとえば、小数点は、米国ではドット(.)ですが、フラン スではカンマ(,)です。 したがって、金額 $1,234 の持つ意味は、国によって異なります。 関連項目 関連項目関連項目 関連項目 : ■ Oracle がサポートするすべての言語名とその略称リストは、A-2 ペー ジの「言語」を参照してください。 ■ A-4 ページ「翻訳済みメッセージ」 関連項目 関連項目関連項目 関連項目 : A-5 ページ「地域」 関連項目 関連項目関連項目 関連項目 : ■ 第 3 章「グローバリゼーション・サポート環境の設定」 ■ 『Oracle9i SQL リファレンス』『Oracle9i データベース管理者ガイド』

(27)

グローバリゼーション・サポートの機能

カレンダ

カレンダ

カレンダ

カレンダ

世界中で様々な暦法が使用されています。 Oracle では、グレゴリオ暦、日本の元号暦、台湾 暦、タイ仏教暦、ペルシャ暦、英国版イスラム歴およびイスラム歴の 7 つの暦法をサポート しています。

言語ソート

言語ソート

言語ソート

言語ソート

Oracle9i には、文化に応じた正確なソートおよび大 / 小文字の変換を行うために、言語の定 義が用意されています。 一部の定義には、2 つのバージョンがあります。 基本定義では、文字 列を独立した文字の連続として扱います。 拡張定義では、特殊な事例として扱う必要のある 文字のペアを認識します。 基本定義を使用して大文字または小文字に変換された文字列は、常に同じ長さです。 拡張定 義を使用して変換された文字列は、長くなったり短くなったりすることがあります。

キャラクタ・セット・サポート

キャラクタ・セット・サポート

キャラクタ・セット・サポート

キャラクタ・セット・サポート

Oracle では、多数のシングルバイト、マルチバイトおよび固定幅のコード体系をサポートし ています。これらのコード体系は、各国の規格、国際規格およびベンダー固有の規格に基づ いています。

カスタマイズ

カスタマイズ

カスタマイズ

カスタマイズ

ロケール・データとカレンダ設定は、カスタマイズできます。

ロケール・データ

ロケール・データ

ロケール・データ

ロケール・データ

Oracle では、言語、キャラクタ・セット、地域または言語ソートなどのすべてのロケール・ データは、Oracle Locale Builder を使用してカスタマイズできます。

カレンダ

カレンダ

カレンダ

カレンダ

元号暦の元号および太陰暦の閏年を定義できます。 関連項目 関連項目関連項目 関連項目 : カレンダのすべてのリストは、A-26 ページの「暦法」を参照 してください。 関連項目 関連項目関連項目 関連項目 : 第 4 章「言語ソート」 関連項目 関連項目関連項目 関連項目 : サポートされるすべてのキャラクタ・セットのリストは、A-6 ページの「キャラクタ・セット」を参照してください。 関連項目 関連項目関連項目

関連項目 : 第 11 章「Oracle Locale Builder ユーティリティ」

関連項目 関連項目関連項目

(28)
(29)

2

キャラクタ・セットの選択

キャラクタ・セットの選択

キャラクタ・セットの選択

キャラクタ・セットの選択

この章では、キャラクタ・セットの選択方法について説明します。 この章の内容は、次の とおりです。 ■ キャラクタ・セット・エンコーディング ■ Oracle データベース・キャラクタ・セットの選択 ■ 単一言語データベースの使用例 ■ 多言語データベースの使用例

(30)

キャラクタ・セット・エンコーディング

キャラクタ・セット・エンコーディング

キャラクタ・セット・エンコーディング

キャラクタ・セット・エンコーディング

キャラクタ・セット・エンコーディング

文字を処理する場合、コンピュータ・システムは文字をグラフィカルな表現としてではなく 数値コードとして処理します。 たとえば、データベースに文字 A を格納すると、実際はソフ トウェアによって解釈される数値コードが格納されます。 すべてのデータベースでは、この 数値コードが重要です。 特に、異なるキャラクタ・セット間の変換が必要なグローバルな環 境での作業では、この数値コードが重要になります。

コード化キャラクタ・セットについて

コード化キャラクタ・セットについて

コード化キャラクタ・セットについて

コード化キャラクタ・セットについて

コード化キャラクタ・セットは、データベースの作成時に指定します。 キャラクタ・セット の選択によって、データベース内で表現できる言語が決定します。 この選択は、データベー ス・スキーマの作成方法や文字データを処理するアプリケーションの開発方法にも影響を与 えます。 また、オペレーティング・システムのリソースとデータベースのパフォーマンスの 相互作用にも影響を与えます。 文字の集まり(アルファベット文字、表意文字、記号、句読点および制御文字など)は、 コード化キャラクタ・セットとしてコード化することができます。 コード化キャラクタ・ セットでは、文字レパートリ内のそれぞれの文字に一意の数値コードが割り当てられていま す。表 2-1に、数値コード値が割り当てられている文字の例を示します。 表 表表 表 2-1 ASCII キャラクタ・セットでのコード化文字キャラクタ・セットでのコード化文字キャラクタ・セットでのコード化文字キャラクタ・セットでのコード化文字 文字 文字文字 文字 説明説明説明説明 コード値コード値コード値コード値 ! 感嘆符 21 # 数値記号 23 $ ドル記号 24 1 数字の 1 31 2 数字の 2 32 3 数字の 3 33 A 大文字の A 41 B 大文字の B 42 C 大文字の C 43 a 小文字の a 61 b 小文字の b 62 c 小文字の c 63

(31)

キャラクタ・セット・エンコーディング コンピュータ業界全体では、様々なコード化キャラクタ・セットが使用されています。 Oracle では、各国の規格、国際規格およびベンダー固有のコード化キャラクタ・セット規格 のほとんどすべてがサポートされています。 Oracle がサポートしているすべてのキャラク タ・セットのリストは、付録 A「ロケール・データ」を参照してください。 各キャラクタ・ セットは、次の点で異なります。 ■ 使用可能な文字数 ■ 使用可能な文字(文字レパートリ) ■ 書込みスクリプトとそれによって表現される言語 ■ それぞれの文字に割り当てられたコード値 ■ 文字を表現するために使用するコード体系 この章では、これらの違いを説明します。

コード化する文字

コード化する文字

コード化する文字

コード化する文字

キャラクタ・セットを選択するときは、データベースに格納する言語を最初に決定します。 キャラクタ・セットでコード化される文字は、表現する記述法によって異なります。

記述法

記述法

記述法

記述法

記述法は、1 つの言語または 1 つの言語グループを表現するために使用されます。 このマ ニュアルでは、記述法を表音的記述法と表意的記述法の 2 つに分類しています。 表音的記述法 表音的記述法表音的記述法 表音的記述法 表音的記述法は、1 つの言語に対応付けられた様々な音声を表現する、複数の 記号で構成されています。 たとえば、ギリシア語、ラテン語、キリル文字およびデーバナー ガリ語はすべて、アルファベットに基づいた表音的記述法です。 アルファベットは、複数の 言語を表現できます。 たとえば、ラテン・アルファベットでは、多くの西ヨーロッパ諸国の 言語(フランス語、ドイツ語、英語など)を表現できます。 表音的記述法に対応付けられた文字(アルファベット)は、文字レパートリが通常 256 文字 より少ないため、一般的には 1 バイトでコード化することができます。 表意的記述法 表意的記述法表意的記述法 表意的記述法 表意的記述法は、言語の音声ではなく、単語の意味を表す表意文字または象 形文字で構成されています。 中国語と日本語は、何万という表意文字に基づいた表意的記述 法の例です。 表意的記述法を使用する言語では、表音文字セット表音文字セット表音文字セット表音文字セットを使用する場合もあります。 表音文字セットでは、必要に応じて象形文字と一緒に表音的情報を伝達する方法が提供され ています。 たとえば、日本語には 2 つの表音文字セットがあり、通常、文法的な要素にはひ らがなが、外来語や擬音語にはカタカナが使用されます。 表意的記述法に対応付けられた文字は、文字のレパートリが何万とあるため、一般的には複 数バイトでコード化する必要があります。

(32)

キャラクタ・セット・エンコーディング 句読点、制御文字、数字および記号 句読点、制御文字、数字および記号句読点、制御文字、数字および記号 句読点、制御文字、数字および記号 言語スクリプトのエンコーディングに加えて、句読点 (カンマ、ピリオド、アポストロフィなど)、数字(アラビア数字の 0 ~ 9 など)、特殊な記 号(通貨記号、数学演算子など)およびコンピュータの制御文字(キャリッジ・リターン、 タブおよび NULL など)のような特殊な文字もコード化する必要があります。 記述方向 記述方向記述方向 記述方向 西洋言語のほとんどは、ページの上から下へ向かって左から右へ記述されます。 東 アジア地域言語は、通常、ページの右から左に向かって上から下へ記述されます。ただし、 西洋言語を翻訳した専門書には例外が多く見られます。 アラビア語とヘブライ語は、上から 下へ向かって右から左へ記述されます。 また、アラビア語とヘブライ語では、数字の場合記述方向が逆になることも考慮する必要が あります。 したがって、テキストが右から左に書かれている場合でも、文中の数字は左から

右に向かって書かれます。 たとえば、「I wrote 32 books」は「skoob 32 etorw I」と書かれま

す。 書込み方向に関係なく、データは論理順序で格納されます。 論理順序は、入力している 言語の画面上での表示方法ではなく、その言語の入力で使用されている順序を意味します。

キャラクタ・セットがサポートする言語数

キャラクタ・セットがサポートする言語数

キャラクタ・セットがサポートする言語数

キャラクタ・セットがサポートする言語数

様々なキャラクタ・セットによって、様々な文字レパートリがサポートされています。 一般 的に、キャラクタ・セットは特定の書込みスクリプトに基づいているため、様々な言語をサ ポートできます。 キャラクタ・セットが最初に米国で開発されたとき、文字レパートリには 制限がありました。今でも、特定の文字を複数のプラットフォームで使用すると、問題が発 生する場合があります。 次の CHAR 文字および VARCHAR 文字は、すべての Oracle データ ベース・キャラクタ・セットで表示可能で、どのプラットフォームにもトランスポータブル です。 ■ 大文字と小文字の英文字(A ~ Z および a ~ z) ■ アラビア数字(0 ~ 9) ■ 次の句読点マーク ■ 次の制御文字 <space> % ' ' ( ) * + -, . / \ : ; < > = ! _ & ~ { } | ^ ? $ # @ " [ ]

(33)

キャラクタ・セット・エンコーディング <horizontal tab> <vertical tab> <form feed> 次の文字を使用する場合は、注意が必要です。 ■ このセットに含まれない文字

■ Unicode のデータ型(NCHAR 文字または NVARCHAR 文字)

これらの文字を使用する場合は、データが正しい形式の文字列である必要があります。 あるキャラクタ・セットから別のキャラクタ・セットへの変換中、Oracle では、CHAR およ び VARCHAR の項目が、宣言されたデータベース・キャラクタ・セットにコード化されてい る正しい形式の文字列であると想定します。 文字列に(たとえば、CHR または CONVERT 関 数を使用して)他の値を入力すると、その値は、異なるキャラクタ・セットのデータベース に送信されたときに損なわれる可能性があります。 現在、正しく設定されたキャラクタ・セットを 2 つまたは 3 つのみ使用している場合は、 キャラクタ・セット変換で問題が発生することはありません。 ただし、事業の成長とグロー バル化が進むにつれて、このような変換上の問題が発生する可能性がでてきます。 したがっ て、Unicode データベースとデータ型の使用をお薦めします。

ASCII エンコーディング

エンコーディング

エンコーディング

エンコーディング

ASCII と IBM EBCDIC のキャラクタ・セットでは、同じ文字レパートリがサポートされてい

ますが、文字によっては異なるコード値が割り当てられている場合があります。表 2-2に、 ASCII がどのようにコード化されているかを示します。 行および列の見出しは、16 進数字を 示しています。 文字のコード値を調べるには、列の数字の次に行の数字を読みます。 たとえ ば、文字 A の値は 0x41 です。 関連項目 関連項目関連項目 関連項目 : 第 5 章「Unicode を使用した多言語データベースのサポート」 表 表表 表 2-2 7 ビットビットビットビット ASCII コード化キャラクタ・セットコード化キャラクタ・セットコード化キャラクタ・セットコード化キャラクタ・セット 0 1 2 3 4 5 6 7 0 NUL DLE SP 0 @ P ' p 1 SOH DC1 ! 1 A Q a q 2 STX DC2 " 2 B R b r 3 ETX DC3 # 3 C S c s 4 EOT DC4 $ 4 D T d t 5 ENQ NAK % 5 E U e u

6 ACK SYN & 6 F V f v

表 3-11 ユーロ記号をサポートしているキャラクタ・セット ユーロ記号をサポートしているキャラクタ・セット ユーロ記号をサポートしているキャラクタ・セット ユーロ記号をサポートしているキャラクタ・セット (続き) (続き) (続き) (続き)
表 表 表 表 6-7 OLE DB の暗黙的なバインドの暗黙的なバインドの暗黙的なバインドの暗黙的なバインド OLE_DB クライアント・クライアント・クライアント・クライアント・ バッファのデータ型バッファのデータ型バッファのデータ型バッファのデータ型 データベース内のデータベース内のデータベース内のデータベース内のターゲット列のターゲット列のターゲット列のターゲット列のデータ型データ型データ型データ型 インバインドとアウトバインドのインバインドとアウトバインドのインバインドとアウトバインドのインバイン
表 表 表 表 8-30 OCI 文字分類コール文字分類コール文字分類コール文字分類コール 関数コール関数コール関数コール関数コール 説明説明 説明説明 OCIWideCharIsAlnum() ワイド・キャラクタが、文字であるか 10 進数字であるかをテストします。 OCIWideCharIsAlpha() ワイド・キャラクタが、アルファベット文字であるかどうかをテストします。 OCIWideCharIsCntrl() ワイド・キャラクタが、制御文字であるかどうかをテストします。 OCIWideCharI

参照

関連したドキュメント

名      称 図 記 号 文字記号

備 考 瀬戸内海 300m 500m 1000m.

人為事象 選定基準 評価要否 備考. 1 航空機落下 A 不要 落下確率は 10

対策分類 対策項目 選択肢 回答 実施計画

定性分析のみ 1 検体あたり約 3~6 万円 定性及び定量分析 1 検体あたり約 4~10 万円

事業名  開 催 日  会      場  参加人数  備    考  オーナーとの出会いの. デザイン  3月14日(土)  北沢タウンホール 

優越的地位の濫用は︑契約の不完備性に関する問題であり︑契約の不完備性が情報の不完全性によると考えれば︑

区分 授業科目の名称 講義等の内容 備考.. 文 化