C言語およびCOBOL言語のアプリケーションで使用する文字コード系について説明します。
C言語およびCOBOL言語のアプリケーションでは、以下の文字コード系が使用できます。
EUCコード
シフトJISコード
UNICODE
使用する文字コード系はアプリケーションのロケールで指定します。アプリケーションのロケールは、以下のように指定します。
対象OS | ロケールの指定 |
---|---|
Solaris | 環境変数LANGでロケールを指定します。 |
Windows(R) | OSのロケールに従います。 |
UNIX系システムでは環境変数LANGに、Cロケールを指定することも可能です。Symfoware/RDBは、ロケールの言語がjaで始まる場合は日本語のメッセージを出力し、それ以外のロケール(Cロケールなど)の場合は英語でメッセージを出力します。Cロケールの場合、アプリケーションが動作する環境によって、アプリケーションの文字コード系は以下のようになります。
アプリケーションが動作する環境 | アプリケーションの文字コード系 |
---|---|
Symfoware/RDBと同一サーバのアプリケーション | Symfoware/RDBインストール時に指定するデータベースの文字コード系 |
Connection Managerを利用するアプリケーション | Connection Managerインストール時に指定するアプリケーションの文字コード系 |
クライアント端末のアプリケーション | Symfoware Server クライアント機能インストール時に指定するアプリケーションの文字コード系 |
SQL文の文字コード系
SQL文中に直接埋込んだ文字列は、アプリケーションのロケールで指定された文字コードで認識されます。アプリケーションのロケールとは異なる文字コードの文字列は、指定できません。
ホスト変数の文字コード系
アプリケーションで使用するホスト変数、動的パラメタ、およびSQLMSGの文字コード系について説明します。
アプリケーションで使用するホスト変数、動的パラメタ、およびSQLMSGの文字コード系は、環境変数LANGの値によって決定します。これを変更するには、クライアント用の動作環境ファイルのパラメタCHAR_SETおよびNCHAR_CODEで指定します。
文字列型ホスト変数の文字コード系は、パラメタCHAR_SETに指定します。指定する値を以下に示します。
文字コード系 | CHAR_SETの指定値 | |
---|---|---|
EUCコード | S90コード | EUC_S90 |
U90コード | EUC_U90またはEUC | |
シフトJISコード | SJIS | |
UNICODE | UTF-8形式 | UTF8 |
各国語文字列型ホスト変数の文字コード系は、パラメタNCHAR_CODEに指定します。指定する値を以下に示します。
文字コード系 | NCHAR_CODEの指定値 | |
---|---|---|
EUCコード | S90コード | EUC_S90 |
U90コード | EUC_U90またはEUC | |
S90コード(COBOL_EUC形式) | COBOL_EUC_S90 | |
U90コード(COBOL_EUC形式) | COBOL_EUC_U90またはCOBOL_EUC | |
シフトJISコード | SJIS | |
UNICODE | UTF-8形式 | UTF8 |
UCS-2形式(注) | UCS2 | |
バイトスワップしたUCS-2形式(注) | UCS2B |
注) UCS-2形式およびバイトスワップしたUCS-2形式では、補助文字(1~16面の4バイト文字)は2文字となります。
クライアント用の動作環境ファイルに文字コード系が指定されていない場合は、環境変数LANGの値によってデフォルトの文字コード系が決まります。環境変数LANGと使用される文字コード系の関係を以下に示します。
環境変数LANGの値 | 文字列型ホスト変数の格納形式 | 各国語文字列型ホスト変数の格納形式 |
---|---|---|
ja | EUCコード | |
ja_JP.eucJP | ||
ja_JP.PCK | シフトJISコード | |
ja_JP.UTF-8 | UTF-8形式 |
アプリケーションで使用するホスト変数、動的パラメタ、およびSQLMSGでは以下の文字コード系が使用できます。
文字列型ホスト変数および各国語文字列型のホスト変数の文字コード系は、環境変数LANGの値によって決まります。環境変数LANGとコード系の関係を以下に示します。
環境変数LANGの値 | 文字列型ホスト変数の格納形式 | 各国語文字列型ホスト変数の格納形式 | |
---|---|---|---|
ja | EUCコード | COBOL_EUC形式 | |
ja_JP.eucJP | |||
ja_JP.PCK | シフトJISコード | ||
ja_JP.UTF-8 | UTF-8形式 | Solaris | UCS-2形式(注1) |
Linux | バイトスワップしたUCS-2形式(注1) (注2) |
注1) UCS-2形式およびバイトスワップしたUCS-2形式では、補助文字(1~16面の4バイト文字)は2文字となります。
注2) コンパイル時のオプションの指定により、ビッグエンディアンとリトルエンディアンのいずれかの形式を選択することができます。
アプリケーションで使用するホスト変数、動的パラメタ、およびSQLMSGでは、シフトJISコードまたはUNICODEが使用できます。UNICODEを使用する場合、アプリケーションのコンパイル時にオプションで指定します。
文字コード系とホスト変数の格納形式の関係を以下に示します。
文字コード系 | 文字列型ホスト変数の格納形式 | 各国語文字列型ホスト変数の格納形式 |
---|---|---|
シフトJISコード | シフトJISコード | |
UNICODE | UTF-8形式 | バイトスワップしたUCS-2形式(注1)(注2) |
バイトスワップしたUTF-32形式(注2) | ||
UTF-32形式(注2) |
注1) バイトスワップしたUCS-2形式では、補助文字(1~16面の4バイト文字)は2文字となります。
注2) コンパイル時のオプションの指定により、UCS-2とUTF-32のいずれかの形式を選択することができます。
注意
COBOL言語のアプリケーションの場合は、クライアント用の動作環境ファイルに指定されたパラメタCHAR_SETおよびNCHAR_CODEは無視されます。