UTF-8とUTF-16は、Unicode文字データをエンコードする2つの標準的な方法です。データベースでは、UTF-8とUTF-16のクライアント文字セットがサポートされます。UTF-8クライアント文字セットは、UTF-8エンコーディングをサポートします。現在、データベースは1~3バイトで構成できるUTF-8文字をサポートしています。UTF-16クライアント文字セットは、UTF-16エンコーディングをサポートします。現在、データベースは、Unicode 5.0標準をサポートしています。この標準では、定義済みの各文字は常に16ビットであることが要求されます。
UTF-8およびUTF-16文字セットの使用については、データベースによる制限があります。制限の詳細については、Teradata Vantage™ - Advanced SQL Engine 国際文字セット サポート, B035-1125を参照してください。
UTF-8文字セット
Teradata TPumpは、ワークステーション接続プラットフォームおよびIBM z/OSでUTF-8文字セットをサポートします。
IBM z/OSでUTF-8クライアント文字セットを使用する場合、ジョブ スクリプトはTeradata EBCDICである必要があります。ジョブ スクリプト内のコマンドはロード時に、Teradata TPumpによってTeradata EBCDICからUTF-8に変換されます。必ずTeradata Vantage™ - Advanced SQL Engine 国際文字セット サポート, B035-1125にある定義を調べて、ジョブ スクリプトで必要となる特殊文字のコード ポイントを確認してください。異なるバージョンのEBCDICでは、それらの文字の配置が必ずしも一致しているとは限りません。Teradata EBCDICとUnicodeとのマッピングについては、Teradata Vantage™ - Advanced SQL Engine 国際文字セット サポート, B035-1125を参照してください。
現在、z/OSプラットフォームでアクセス モジュールまたはデータ ファイルを使用する場合、UTF-8バイト オーダー マーク(BOM)はサポートされません。
- パラメータ コマンドnullexpr
- fieldexpr
- VARTEXT型区切り記号
- WHERE 条件
- CONTINUEIF 条件
UTF-16文字セット
Teradata TPumpでは、ワークステーション接続プラットフォームでUTF-16文字セットをサポートします。通常、コマンド言語およびジョブ出力は、ジョブで使用したクライアント文字セットと同一である必要があります。ただし、ユーザーの利便性を考慮すると同時に、Unicodeの特殊な性質上、UTF-16文字セットの使用時は、コマンド言語とジョブ出力がクライアント文字セットと同じでなくてもよいことになっています。UTF-16文字セットを使用している場合、ジョブ スクリプトおよびジョブ出力ではUTF-8かUTF-16の文字セットの使用が可能です。これは、ジョブの起動時に実行時パラメータ"-i"および"-u"を指定することによって提供されます。
実行時パラメータ"-i"および"-u"の参照情報については、DATEFORMで-i scriptencodingパラメータおよび-u outputencodingパラメータを参照してください。
UTF-16クライアント文字セットの使用に関する追加情報については、パラメータ コマンドfieldexpr(IMPORT)、nullexpr(DATEFORM)、WHERE condition(BEGIN LOAD)、およびCONTINUEIF condition(BEGIN LOAD)を参照してください。
クライアント文字セット/クライアント タイプの互換性
次の表は、大まかな目安として、良好な動作が得られるクライアント文字セットをクライアント環境別に示したものです。
クライアントのタイプ | 最良のクライアント文字セット |
---|---|
メインフレーム接続 |
|
ワークステーション接続(UNIXオペレーティング システム) |
|
ワークステーション接続(Windows) |
|
サイト定義の文字セット
データベースで定義されている文字セットがサイトに適していない場合は、カスタム文字セットを定義できます。
カスタム文字セットの定義については、Teradata Vantage™ - Advanced SQL Engine 国際文字セット サポート, B035-1125を参照してください。