ページの先頭行へ戻る
PowerReplication V4.0L12 PowerReplicationユーザーズガイド V4.0
FUJITSU Software

2.2.6 文字コード変換

PowerReplicationが行う文字コード変換について説明します。


文字コードが異なるデータベース間で同期実行を行う場合、PowerReplicationは連携する相手システムの動作環境によって文字コードの変換方式が異なります。

ASP レプリケーションサービスの動作文字コードにシフトJISを設定している、または、ASP V24以前のシステムと連携する場合

図2.15 ASP レプリケーションサービスの動作文字コードにシフトJISを設定している、または、ASP V24以前のシステムと連携する場合


文字コード変換は、同期処理によってデータが反映されるサーバで行われます。
PowerReplicationは、ASP側からWindows側へデータを反映するとき「Charset Manager」または「JEF拡張漢字サポート」を使用して、EBCDIC/JEFコードの文字をシフトJISコードの文字にコード変換します。OracleまたはSQL ServerのUnicodeデータを扱う場合、ODBCドライバがシフトJISコードとUnicodeのコード変換を行います。


この変換方式は、PowerReplication V3.0と同じ変換方式です。


JEFコードの旧字体とシフトJISコードの変換は、PowerReplicationの動作環境に設定したJEFコード変換タイプに従って変換されます。

JEFコード系は、83JISにより字体変更された文字を拡張漢字領域に割り当てており、変換前の旧字体についてはそのままJIS領域に存在しています。これらの文字を新字体/旧字体ともに、83JISベースのJIS領域を持つコード系(シフトJIS)に変換するためには、文字コードを対応づけることが必要です。対応づけられていない文字コードを変換すると‘_’(アンダーバー)に変換され、同期が続行されます。

JEFコード変換タイプには、「字形重視」と「領域重視」の2つがあります。


・ 字形重視の場合

Windowsの文字コードは、JEFコードの新字体に変換されます。

・ 領域重視の場合

Windowsの文字コードは、JEFコードの旧字体に変換されます。



レプリケーションで扱える文字は、シフトJISコードで表現できる文字の範囲内に限られます。
また、外字(利用者定義文字)を扱うとき、ODBCドライバの文字コード変換で変換できない場合があります。


ASP レプリケーションサービスの動作文字コードにUnicode(UTF8が設定されている場合


図2.16 ASP レプリケーションサービスの動作文字コードにUnicode(UTF8)が設定されている場合


ASP側でEBCDIC/JEFコードの文字とUnicode(UTF8)の文字を変換します。ASPとWindows間は、Unicodeのデータで送受信します。
PowerReplicationは、OracleまたはSQL ServerのシフトJISデータを連携する場合、ODBCドライバの機能を使用してUnicodeの文字をシフトJISコードの文字にコード変換します。
このため、Windows側に文字コード変換製品は不要です。



レプリケーションで扱える文字は、EBCDIC/JEFコードで表現できる文字の範囲内に限られます。Unicodeのデータと連携する場合、JIS X 0123:2004に対応した文字セット(JIS2004)の4バイトの文字は扱えません。
また、外字(利用者定義文字)を扱うとき、ODBCドライバの文字コード変換で変換できない場合があります。変換できない文字は、‘_’(アンダーバー)に変換されます。


PowerReplication V3.0(PowerRW+)と連携している場合


図2.17 PowerReplication V3.0(PowerRW+)と連携している場合


シフトJISコードのデータを扱う場合、コード変換は行いません。Unicodeのデータを扱う場合、ODBCドライバがシフトJISコードとUnicodeのコード変換を行います。



OracleまたはSQL ServerでUnicodeのデータと連携する場合、レプリケーションで扱える文字は、シフトJISで表現できる文字の範囲内に限られます。また、外字(利用者定義文字)を扱うとき、ODBCドライバの文字コード変換で変換できない場合があります。変換できない文字は、‘_’(アンダーバー)に変換されます。


ASP レプリケーションサービスの動作文字コードおよびASP側で行われるEBCDIC/JEFコードとUnicodeの文字コード変換については、「ASP レプリケーションサービス説明書 V25~」を参照してください。
ODBCドライバの文字コード変換機能については、使用するDBMSのオンラインマニュアルなどを参照してください。


文字コード変換において、文字以外の不正データが検出された場合、変換不可能な文字を代替文字に変換し、同期実行は正常終了します。
このとき、イベントビューア(アプリケーションログ)には警告が通知され、警告の詳細情報が詳細メッセージ情報ファイルに出力されます。
詳細メッセージ情報ファイルの出力内容の詳細は、"付録F 詳細メッセージ情報ファイルの出力形式"を参照してください。