Symfoware Server アプリケーション開発ガイド(埋込みSQL編) - FUJITSU -
目次 索引 前ページ次ページ

第2章 アプリケーションの設計> 2.2 文字コード系の考慮

2.2.1 アプリケーション開発作業でのロケールと文字コード系の考慮

アプリケーションのロケーによってアプリケーションが扱う文字コードが決まります。また、Symfoware/RDBプロセにも、ロケールと文字コード系があり、これら2つのプロセス間でのやり取りの中でお互いの文字コード系を合わせて処理を行います。

アプリケーションの開発者は、以下を考慮し、データのコード変換ができるだけ少なくなるようにアプリケーションの実行環境を作成することが必要です。

■データベースの文字コード系とSymfoware/RDBのロケー

Symfoware/RDBでは、以下の文字コード系が使用できます。

データベースに格納するデータの文字コード系は、Symfoware/RDBをインストールするときに指定します。また、Symfoware/RDBのインストール時には、Symfoware/RDBプロセスが動作するときのロケールも指定します。一般的に、不要な文字化けなどの問題を回避するため、プロセスのロケールと文字コード系は同一のものを選択します。Symfoware/RDBにおいても、この考え方のもと、データベースの文字コード系に一致するSymfoware/RDBのロケールを選択することを推奨します。

[表:Symfoware/RDBのロケールとデータベースの文字コード系の関係]

 

Symfoware/RDBのロケール(OSのデフォルトロケール)

ja

ja_JP.U90

ja_JP.PCK

ja_JP.UTF-8

C

ja_JP.eucJP

ja_JP.UTF-8

C

日本語

データベースの
文字コード系

EUC_S90

×

×

×

×

EUC_U90

×

×

×

×

SJIS

×

×

UNICODE

◎:組み合わせて運用可能(推奨)

○:組み合わせて運用可能

▲:組み合わせて運用可能(従来互換として存在)

×:組み合わせて運用不可能(エラーになります)

EUC_S90 :日本語EUCコードのS90コード

EUC_U90 :日本語EUCコードのU90コード

SJIS :シフトJISコード

UNICODE :UNICODE

■アプリケーションのロケールと文字コード

アプリケーションのロケールは、以下のように指定します。

[表: アプリケーションのロケールの指定]

対象OS

C言語(COBOL以外の言語)

COBOL言語


環境変数LANGでロケールを指定します。

OSのデフォルトロケールと同一のロケールを環境変数LANGで指定します。

インストール時に指定されたロケールに従います。

アプリケーションの文字コード系は、アプリケーションのロケールによって決まります。

通常、UNIX系システムにおいてはロケールは以下の記述形式です。アプリケーションは、ロケールに指定された文字コード系で動作します。

ロケールの記述形式

ロケールの記述形式は、以下のようになります。
言語_国または地域.文字コード系

言語が日本語、国または地域が日本国、文字コード系がUNICODEの場合、以下のようにロケールを表現します。
ja_JP.UTF-8

アプリケーションのロケールには、UNIX系システムで標準のCロケールを指定することも可能です。Cロケールの場合、アプリケーションのデフォルトの文字コード系は、アプリケーションが動作する環境により決まります。

アプリケーションが動作する環境

アプリケーションのデフォルトの文字コード系

Symfoware/RDBと同一サーバのアプリケーション

データベースの文字コード系

Connection Managerを利用するアプリケーション

Connectoin Managerインストール時の文字コード系

クライアント端末のアプリケーション

Symfoware Server クライアント機能インストール時の文字コード系

Windows(R)システムにおいては、デフォルトの文字コード系はシフトJISコードが採用されます。

 

アプリケーションが使用する文字コード系と、データベースに格納されるデータの文字コード系が異なる場合、Symfoware/RDBは自動的にコード変換を行います。

コード変換の詳細については、“コード変換の考慮”を参照してください。

文字コード系が日本語EUCコードの場合、以下の注意が必要です。

■アプリケーションの文字コード系の変

アプリケーション内で使用するホスト変数、動的パラメタ、およびSQLMSGの文字コード系を変更することができます。この変更操作は、クライアント用の動作環境ファイルのパラメタCHAR_SETおよびNCHAR_CODE、または、アプリケーションのコンパイル時にオプションで行います。

[表:文字コード系の変更]

対象OS

C言語(COBOL以外の言語)

COBOL言語


クライアント用の動作環境ファイルに以下のパラメタを指定します。

  • CHAR_SET

  • NCHAR_CODE

変更できません。

COBOL言語の仕様であり、アプリケーションはロケールに対応する文字コード系で処理します。

SQL埋込みCOBOLプログラムをプレコンパイルするときに-unオプションで指定します。


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2005