Symfoware Server アプリケーション開発ガイド(JDBCドライバ編) - FUJITSU -
目次 索引 前ページ次ページ

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

2.2.2.3 各文字コード流通における設定

流通する文字データごとの設定について説明します。

■拡張漢字および拡張非漢字を流通する場

Javaのアプリケーションは、文字データを内部的にUNICODE (UCS-2)で扱っており、Javaアプリケーションに対してUNICODE以外の文字コード系の入出力を扱う場合、Javaのコード変換機能(Javaコンバータ)が動作します。このJavaのコード変換機能は、JIS漢字およびJIS非漢字以外の文字コードの変換をサポートしていないので、拡張文字を流通させる際にはすべてUNICODEで流通させることを推奨します。

UNICODE流通するには、データベースに格納する文字コード系をUNICODEとし、Javaのアプリケーションが動作するマシンに富士通コード変換製品をインストールする必要があります。また、データベースに対してRDB2_TCP連携またはローカルで接続してください。

■SolarisマシンまたはLinuxマシンでMSベンダー文字を流通する場

JavaのアプリケーションでMSベンダー文字を流通する場合もUNICODEでの流通を推奨します。ただし、UNICODE流通しなくても、JDBCドライバおよびJavaのエンコーディング名にMS932を指定することでMSベンダー文字の流通を行うことができます。Windows(R)マシンの場合にはデフォルトでMS932が指定されています。

SolarisマシンまたはLinuxマシン上にJDBCドライバがインストールされていて、Windows(R)マシンとの間でデータのやりとりを行う場合には、MS932を指定することでMSベンダー文字をWindows(R)マシンから入出力することができます。ただし、SolarisマシンまたはLinuxマシンでは、MSベンダー文字を標準出力することはできません。また、エンコーディング名にMS932を指定したSolarisマシンとエンコーディング名にSJISを指定または省略したSolarisマシン、またはエンコーディング名にMS932を指定したLinuxマシンとエンコーディング名にSJISを指定または省略したLinuxマシンとの間でデータのやりとりをする場合に、一部の文字(“−”や“〜”など)が文字化けなどで流通できなくなります。エンコーディング名が混在しているシステムの場合には注意が必要となります。

なお、ベンダー依存の問題に関する詳細については、“文字コード系に関する留意事項”を参照してください。

UNICODE以外の文字コード系を使用する場合には、Javaアプリケーションのエンコーディング名にMS932を設定してください。

JDBCドライバに対してエンコーディング名にMS932を設定する場合は、以下のように設定してください。

記述形式:
javaconverter=MS932
設定方法:
JDBCデータソース登録ツールの「オプション情報設定」画面で「その他パラメタ」の欄にオプションを設定してください。

■JIS漢字およびJIS非漢字(83JIS改定文字)を流通する場

JIS規格において1983年に互換を伴わない改定が行われ、各プラットフォームで対応レベルが異なるため、しばしば問題が発生しています。

この改定では、新字体と旧字体の第一水準と第二水準の入替え、新しい文字の追加などが行われていますが、一番大きな問題は旧字体の一部を廃止し、新字体に統一したことが挙げられます。

これに対し、各文字コード系の対応状況は以下のとおりです。

文字コード系

対応

シフトJISコード

R90

新字体に置き換えたが、一部の旧字体の文字は新字体に置き換えない。

MS-SJIS

すべてを新字体に置き換える。

EUCコード

すべてを新字体に置き換える。

注) UNICODEは83JIS改定とは無関係に新字体しか存在しません。

 

新字体と旧字体はそれぞれ別の文字として扱われており、両者間での文字変換はサポートされていません。

Javaのアプリケーションで83JIS改定文字を流通する場合には、UNICODEでの流通を推奨します。

UNICODE流通するには、データベースに格納する文字コード系をUNICODEとします。また、データベースに対してRDB2_TCP連携またはローカルで接続してください。

■アプリケーション実行環境のロケールがCの場

アプリケーション実行環境のロケールがCで、ASCIIコード範囲外の文字データを利用する場合、javaconverterオプションで対象データのエンコーディングを指定してください。javaconverterオプションの詳細は、“オプションの設定”を参照してください。


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

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