v 正規化
v 数値および通貨のフォーマット設定
v 時間帯
v 文字変換
v 単語、行、および文章の区切り
ICU は、世界中の企業および個人ボランティアで構成するグループの共同管理によるオープン・ソースの 開発プロジェクトです。連絡、計画、およびソフトウェアや資料の作成には、インターネットと Web サイ トを使用しています。
ICU はオープン・ソースです。ICU ライセンスの詳細については、「International Components for Unicode」の Web サイトを参照してください。
関連概念:
International Components for Unicode
v v
このとき DATABASE1 には、次の論理的な入力項目があります。
v alson v Gifford v
v
名前を構成するギリシャ語の文字は、CCSID 37 に同じ文字が存在する場合は、ギリシャ語の文字のままで 保存されます。これらの文字が存在しない場合は、システムは事前に決められているアルゴリズムを使用し て、文字をコード・ページ 37 のコード・ポイントに変換します。このアルゴリズムでは、 を に 変換します。
次のリストは、それぞれの名前の最初の文字を DATABASE1 に保存するときに使用するコード・ポイント を示しています。(名前のすべての文字をコード・ポイントで表示すると、長いコード・ポイントのストリ ングができてしまうので、この例では簡単に最初の文字だけを表示します。)
名前 CCSID 37 の保存コード・ポイント (16 進数)
alson 67 . . . Gifford
C7 . . .
53 . . .
67 . . .
次に、文字をデータベースに保存したときの文字変換が原因で、データが間違って表示される例を示しま す。
ここで、ギリシャ語のユーザーが で始まるすべての名前を検索すると想定します。以下の SQL ステ ートメントでは、2 つの名前 および alson が検索されます。
Select from DATABASE1 where name LIKE ’ %’
検索結果では、予期せぬ名前 ( alson) が表示されます。これは、 alson の最初の文字が、
の最初の文字と同じコード・ポイントで保管されているためです。
関連概念:
『例: ユニコードを使用するデータの表示』
この例では、同一システム上の、英語を使用するユーザーとギリシャ語を使用するユーザーの 2 人のユー ザーを中心に説明します。英語のユーザーは、ディスプレイ装置の CCSID を 37 に設定しており、ギリシ ャ語のユーザーは、ディスプレイ装置の CCSID を 875 に設定しています。どちらのユーザーも照会、更 新、および置換に DATABASE1 データベースを使用します。
例: ユニコードを使用するデータの表示:
この例では、同一システム上の、英語を使用するユーザーとギリシャ語を使用するユーザーの 2 人のユー ザーを中心に説明します。英語のユーザーは、ディスプレイ装置の CCSID を 37 に設定しており、ギリシ ャ語のユーザーは、ディスプレイ装置の CCSID を 875 に設定しています。どちらのユーザーも照会、更 新、および置換に DATABASE1 データベースを使用します。
DATABASE1 には、CCSID 13488 がタグ付けされています。
この例では、ユニコードを DATABASE1 の CCSID として使用して、データを保管する際と取り出す際の 両方でデータの保全性を維持する方法を示します。
『ユニコードを使用しないデータの表示』情報での例のように、 1 人のユーザーは英語で CCSID 37 を使 用し、もう 1 人のユーザーはギリシャ語で CCSID 875 を使用しているとします。
DATABASE1 は、前回の例と同じ方法で使用します。ただし、ここでは DATABASE1 には CCSID 13488 が定義されています。(13488 はユニコードの CCSID です。)
v alson v Gifford v
v
ユニコードを DATABASE1 の CCSID として使用するときの大きな違いは、データベースにデータを入力 するユーザーごとにデータ保全性が維持されることです。入力装置の CCSID とは無関係に、すべての文字 がそれぞれ固有のコード・ポイントを付けて保存されます。(この例では、DATABASE1 の CCSID は 13488 であることに注意してください。)
名前 CCSID 13488 の保存コード・ポイント (16 進数)
alson
00C5 . . . Gifford
0047 . . .
03A9 . . .
039C . . .
|
ここで、ギリシャ語のユーザーが で始まるすべての名前を検索すると想定します。2 つの名前が取得 された前の例と異なり、以下の SQL ステートメントでは 1 つの名前 が取得されま す。
Select from DATABASE1 where Substr(name,1,1) = ’ ’
この理由は、ユニコードにタグ付けされたデータベースに保管されている文字にはそれぞれ固有のコード・
ポイントがあるからです。これは、 alson の最初の文字が、 の最初の文字と同じコー ド・ポイントで保管されていた、『ユニコードを使用しないデータの表示』情報での例と対照的です。
関連概念:
126ページの『例: ユニコードを使用しないデータの表示』
この例では、同一システム上の、英語を使用するユーザーとギリシャ語を使用するユーザーの 2 人のユー ザーを中心に説明します。英語のユーザーは、ディスプレイ装置の CCSID を 37 に設定しており、ギリシ ャ語のユーザーは、ディスプレイ装置の CCSID を 875 に設定しています。どちらのユーザーも照会、更 新、および置換に DATABASE1 データベースを使用します。