文字変換の概念
ある DBMS から別の DBMS へ伝送される文字データ には、場合によって、異なるコード化文字セットへの変換が必要になります。
さまざまなデータベース管理システム (DBMS) において、 文字データは各種のコード化スキームによって表されます。 コード化スキームには、いくつかのコード化文字セット ID (CCSID) があります。 文字データのエンコード方式 としては、EBCDIC、ASCII、および Unicode があります。
Unicode 文字エンコード標準は、世界中で使用されている言語のほとんどすべての文字を含む 文字コード化スキームです。 Db2 Unicode エンコーディングスキームの2つの実装をサポートしています。 (混合バイト形式)と (ダブルバイト形式)です。 UTF-8 UTF-16
すべての文字データには CCSID があります。 文字変換は、ソースおよびターゲットの CCSID に関して記述されます。 Db2をインストールする場合は、以下のいずれかの状況で、Db2文字データに CCSID を指定する必要があります。
- パネル DSNTIPR の「DDF STARTUP OPTION」フィールドに、AUTO または COMMAND を指定した場合。
- システムで ASCII データ、Unicode データ、EBCDIC 混合文字データ、EBCDIC グラフィック・ データのいずれかを使用する予定がある場合。 この場合は、パネル DSNTIPF の「MIXED DATA」フィールドに YES を指定する必要があり、コード化 スキームとしては混合データの CCSID を指定します。
指定する CCSID は、使用する各国語に応じて異なります。
Db2は、データがDb2に送信されるとき、またはデータが Db2に保管されるときに、システム CCSID に基づいて、ほとんどの文字変換を自動的に実行します。 文字変換が行われる必要がある場合、Db2は次の方法を使用します。
- Db2はカタログ表 SYSIBM.SYSSTRINGS を検索します。
- Db2 z/OS® のユニコード変換サービスを利用しています。
Db2 または z/OS の場合、Unicode Conversion ServicesがソースCCSIDとターゲットCCSIDの特定の組み合わせに対して変換を提供できない場合、エラーメッセージが表示されます。 変換が間違っている場合、エラー・メッセージまたは予期しない出力を受け取る。 問題を訂正するには、SQL 操作におけるソースと ターゲットの CCSID の割り当て規則を理解することが必要です。