(57)【特許請求の範囲】
【請求項１】
一の種類の文字コードを、変換の対応を示したコード変換テーブルに基づき、他の種類の文字コードに変換する文字コード変換装置において、
変換対象のファイル内の文字コードが、コード変換テーブルに定義されていない場合、代替文字を表示すると共に、その前後の文字列を表示する第一表示手段と、
前記未定義の文字コードについて、順次新たな文字コードの入力を求める画面を表示する第二表示手段と、
前記ファイル内に同一の文字コードがある場合、前記第二表示手段により入力される新たな文字コードに基づき、前記代替文字の文字コードを変換する変換手段と、
前記出力した変換された文字コードの文字と代替文字を表示すると共に前記テーブルに蓄積された元の文字コードおよび出力位置情報を表示する手段と
を有することを特徴とする文字コード変換装置。
【請求項２】
請求項１の文字コード変換装置は、
変換される文字コードおよび前記新たに入力される文字コードの対応を、前記コード変換テーブルに追加する追加手段を有することを特徴とする文字コード変換装置。
【請求項３】
請求項１の文字コード変換装置は、
第一の表示手段と第二の表示手段とを同じ画面上に表示させることを特徴とする文字コード変換装置。
【請求項４】
変換対象のファイル内の文字コードが、コード変換テーブルに定義されていない場合、代替文字を表示すると共に、その前後の文字列を表示する第一表示手段と、
前記未定義の文字コードについて、順次新たな文字コードの入力を求める画面を表示する第二表示手段と、
前記ファイル内に同一の文字コードがある場合、前記第二表示手段により入力される新たな文字コードに基づき、前記代替文字の文字コードを変換する変換手段と、
前記出力した変換された文字コードの文字と代替文字を表示すると共に前記テーブルに蓄積された元の文字コードおよび出力位置情報を表示する手段と
して機能させるプログラムを記録したコンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、異なる文字コード体系のシステム間で必要となる文字コード変換装置および記録媒体であって、既定のコード変換テーブルでは変換エラーとなるものを任意の文字コードへ変換するための補正機能を保有する文字コード変換装置に関するものである。
【０００２】
【従来の技術】
従来、文字コード変換装置は、コード変換テーブルに未定義の文字コードを発見した場合、代替文字で出力したり、あるいは変換処理を中断したりする処置を行っていた。
【０００３】
また、変換エラーとなる文字の大半は、利用者定義文字とＪＩＳ規格外拡張文字のコード変換テーブル上の未定義文字であり、通常、変換先システムの任意の文字へ変換する必要がある。
【０００４】
このため、図１０に示すような構成によって、利用者は変換処理を実行する前に変換エラーとなる文字を調査し、事前に入力データまたはコード変換テーブルを補正していた。未定義文字の存在状況を調査するには、手作業または調査用プログラムを作成し実行する必要がある。
【０００５】
図１０は、従来技術の説明図を示す。
図１０において、入力データ４１は、変換しようとする文字コードのデータである。
【０００６】
調査用プログラム４２は、入力データ４１中に変換エラーとなる文字コードが含まれているか調査するプログラムである。
調査結果リスト４３は、調査用プログラム４２によって入力データ４１を読み込んで変換エラーとなる文字コード、その位置を調査した結果のリストである。
【０００７】
テーブル補正４４は、調査結果リスト４３を参照し、変換エラーとなった文字コードについて、コード変換テーブル４５を補正するものである。
コード変換テーブル４５は、入力データを変換するテーブルである。
【０００８】
文字コード変換装置４６は、入力データ４１について、補正後のコード変換テーブル４５を用いて変換先のコードに変換し、出力データ４７として格納するものである。
【０００９】
出力データ４７は、変換後の文字コードのデータである。
次に、動作を簡単に説明する。
（１）  調査用プログラム４２は、入力データ４１についてコード変換テーブル４５を参照して変換エラーとなる文字コード、およびその位置を調査し、調査結果リスト４３を出力する。
【００１０】
（２）  テーブル補正４４が調査結果リスト４３をもとに変換エラーとなる文字コードについて変換先の文字コードを登録などの補正を、コード変換テーブル４５に施す。
【００１１】
（３）  文字コード変換装置４６が入力データ４１について、補正後のコード変換テーブル４５を用いて変換先の文字コードに変換し、出力データ４７として格納する。
【００１２】
【発明が解決しようとする課題】
上述したように、未定義文字の調査には非常に手間がかかり非効率的であるという問題があった。また、調査用プログラムは入力データ全体より変換エラー文字を検索するため、データ量が大きいと調査と、変換と２回の読み込みが必要となり、処理時間がかかるという問題もあった。
【００１３】
本発明は、これらの問題を解決するため、入力データについてコード変換テーブルを参照して変換を行い、未定義コードの場合には代替文字で出力すると共にテーブルに文字コード、位置を蓄積し、テーブルをもとに指定された文字コードに置換およびコード変換テーブルに反映し、文字データの１回の読み込みで文字コードの変換を迅速に実現すると共に次回以降のコード変換に自動反映することを目的としている。
【００１４】
【課題を解決するための手段】
図１を参照して課題を解決するための手段を説明する。
図１において、文字コード変換手段２は、コード変換テーブル４を参照して入力データ１中の文字コードを変換するものである。
【００１５】
変換エラー蓄積手段３は、変換エラーのときに代替文字コードを置き換えおよび元の文字コードおよびその位置情報などを変換エラー履歴テーブル５に蓄積するものである。
【００１６】
出力データ６は、変換後の文字コードである。
変換エラー補正手段７は、表示・入力装置８上に変換エラー履歴テーブル５の内容を表示してエラー処置入力に対応して代替文字を正しい文字に置換（補正）したりなどするものである。
【００１７】
エラー処置再利用手段９は、代替文字を正しい文字に置換したときにコード変換テーブル４に反映（元の文字コードに対応づけて正しい文字コードを登録）するものである。
【００１８】
次に、動作を説明する。
文字コード変換手段２が入力データ１から取り出した文字コードについて、コード変換テーブル４を参照して他の文字コードに変換して出力し、変換エラー蓄積手段３が未定義コードで変換エラーとなったときに代替コードを出力および元の文字コード、出力位置を変換エラー履歴テーブル５に蓄積し、変換エラー補正手段７が変換された文字コードの文字と代替文字を表示すると共に変換エラー履歴テーブル５に蓄積された元の文字コードおよび出力位置情報を表示するようにしている。
【００１９】
この際、変換エラー補正手段７が表示・入力装置８上に表示された元の文字コードについて出力する文字コードの入力に対応して、代替文字を当該文字コードの文字で置換するようにしている。
【００２０】
また、変換エラー補正手段７が表示・入力装置８上に表示された元の文字コードについて出力する文字の入力に対して、代替文字を当該文字で置換するようにしている。
【００２１】
また、エラー処置再利用手段９が代替文字を置換した文字の文字コードについてコード変換テーブル４に元の文字コードに対応づけて登録し、次回以降に使用するようにしている。
【００２２】
従って、入力データ１についてコード変換テーブル４を参照して変換を行い、未定義コードの場合には代替文字で出力すると共に変換エラー履歴テーブル５に文字コード、位置を蓄積し、変換エラー履歴テーブル５をもとに指定された文字コードあるいは文字に置換およびコード変換テーブル４に反映することにより、文字データの１回の読み込みで文字コードの変換を迅速に実現すると共に次回以降の処理に自動反映することが可能となる。
【００２３】
【発明の実施の形態】
次に、図２から図９を用いて本発明の実施の形態および動作を順次詳細に説明する。ここで、記録媒体から読み出したプログラムあるいは外部記憶装置であるハードディスク装置などから読み出したプログラム、またはセンタの外部記憶装置から読み出して回線を介して転送を受けたプログラムを主記憶にローディングして起動し、以下に説明する各種処理を行うようにしている。
【００２４】
ここで、図２および図３を用いて図１の構成の動作を説明する。
図２は、本発明の動作説明図（その１）を示す。
（１）  文字コード変換手段２がＳ１のように入力データ１を読み込み、コード変換テーブル４を参照し、文字コードの変換を行い、Ｓ４に示すように出力データ６として出力する。
【００２５】
（２）  （１）の文字コードの変換の際に、読み込んだ入力データ１中に未定義コードがあった場合、変換エラー蓄積手段３が未定義コードについて変換エラー履歴テーブル５に示すように、コード値、発生数、出力位置（行−桁）の情報を蓄積すると共に代替文字（代替文字コード）を出力データ６として出力する。
【００２６】
以上の（１）、（２）によって、図示のように、出力データ６としてコード変換後の文字（文字コード）および未定義コードについては代替文字（代替文字コード）にして出力すると共に、変換エラー履歴テーブル５に代替文字（代替文字コード）の元の文字のコード値、発生数、出力位置（行−桁）の情報を蓄積する。
【００２７】
図３は、本発明の動作説明図（その２）を示す。
（３）  （２）で蓄積した変換エラー履歴テーブル５をもとに表示・入力装置８上に図示のように、変換元コード、発生数、変換先コードを表示し、オペレータにいずれかのエントリを選択させて変換先コードの入力を促す（Ｓ１１、Ｓ１２）。
【００２８】
（４）  （３）で変換先コードの入力を促したことに対応して、オペレータが表示・入力装置８上で変換先コードの欄に変換した文字コードをキー入力すると、変換エラー補正手段７がＳ１３に示すように、変換元コードと変換先コードとを対応づけた新対応づけテーブルを作成し、この新対応づけテーブルをもとに出力データ中の代替文字を変換先コードの文字で置換し、図示の出力データ６のようにする。
【００２９】
以上の（３）、（４）によって出力データ６中の代替文字について、変換エラー履歴テーブル５に蓄積されていた変換元コード、発生数、変換先コードの欄を表示・入力装置８上に表示して変換先コードの入力に対応して、自動的に出力データ６中の代替文字を変換先コードの文字に置換することが可能となる。
【００３０】
次に、図４のフローチャートに示す順序に従い、図１の構成の出力データ６に代替文字を出力および変換元のコード値、発生数、出力位置を変換エラー履歴テーブル５に登録するときの手順を詳細に説明する。
【００３１】
図４は、本発明の動作説明フローチャート（その１）を示す。
図４において、Ｓ２１は、入力データを読み込む。これは、既述した図２のＳ１に示すように、入力データ１を読み込む。
【００３２】
Ｓ２２は、１文字ずつ取り出す。
Ｓ２３は、コード変換テーブルより検索する。これは、コード変換テーブル４を検索し、変換元の文字コードに対する、変換先の文字コードを検索する。
【００３３】
Ｓ２４は、コード変換テーブル４にありか判別する。ＹＥＳの場合には、Ｓ３０で変換して出力データ６として出力し、Ｓ３１に進む。一方、ＮＯの場合には、未定義コードと判明したので、Ｓ２５ないしＳ２９を実行する。
【００３４】
Ｓ２５は、変換エラー履歴テーブル５より検索する。これは、既述した図２の変換エラー履歴テーブル５を検索して同じ未定義コードが以前に登録されているか検索する。ＹＥＳの場合には、変換エラー履歴テーブル５に既に登録されていると判明したので、Ｓ２７で変換エラー履歴テーブル５の該当するコード値のエントリの発生数を更新、出力位置（行−桁）を追加し、Ｓ２９に進む。一方、Ｓ２５のＮＯの場合には、変換エラー履歴テーブル５に登録されていないと判明したので、Ｓ２８で変換エラー履歴テーブル５に新規登録し、元コード（コード値）、発生数、出力位置（行−桁）を登録し、Ｓ２９に進む。
【００３５】
Ｓ２９は、代替文字で出力する。これは、既述した図２の出力データ６中に示すように未定義コードについては代替文字（ここでは■）を出力する。
Ｓ３１は、入力データが終わりか判別する。ＹＥＳの場合には、全ての入力データ１について処理を終了したので、終わる（ＥＮＤ）。ＮＯの場合には、Ｓ２２に戻り次の１文字を取り出して繰り返す。
【００３６】
以上によって、入力データ１を読み込んで１文字ずつコード変換テーブル４を参照してコード変換を行い、この際に未定義コードが出現したときに変換エラー履歴テーブル５にコード値、発生数、出力位置（行−桁）を登録すると共に代替文字を出力することにより、未定義コードがあっても代替文字で出力データ６を出力すると共に、変換元のコード値、発生数、出力位置を変換エラー履歴テーブル５に蓄積することが可能となる。
【００３７】
次に、図５のフローチャートに示す順序に従い、図１の構成の変換エラー履歴テーブル５をもとに出力データ６中の代替文字を正しい文字（文字コード）に置換するときの手順を詳細に説明する。
【００３８】
図５は、本発明の動作説明フローチャート（その２）を示す。
図５において、Ｓ４１は、補正を要求する。これは、既述した出力データ６中の代替文字（代替文字コード）を正しい変換先の文字（文字コード）に変換する補正要求を行う。
【００３９】
Ｓ４２は、変換エラー履歴テーブル５を読み込む。
Ｓ４３は、一覧表示する。これは、後述する図８の画面に示すように、左側のウィンンドウ２に出力データ６（代替文字が■）を表示および右側のウィンドウ１に変換エラー履歴テーブル５の内容を表示する。
【００４０】
Ｓ４４は、選択する。
Ｓ４５は、変換先コードの入力を行う。これらＳ４４、Ｓ４５は、オペレータがＳ４３で表示された図８の例えば右側のウィンドウ１のエラー一覧上でいずれかのエントリを選択し、変換先の正しいコードをキー入力する。
【００４１】
Ｓ４６は、オペレータが正しいか確認する。ＯＫの場合には、Ｓ４７に進む。ＮＧの場合には、Ｓ４４に戻り繰り返す。
Ｓ４７は、変換エラー履歴テーブル５の更新する。これは、既述した図３の変換エラー履歴テーブル５にオペレータが入力した正しい変換先のコードを更新する。
【００４２】
Ｓ４８は、補正要求が終わりか判別する。ＹＥＳの場合には、Ｓ４９に進む。ＮＯの場合には、Ｓ４２に戻り繰り返す。
Ｓ４９は、置換要求する。これは、変換エラー履歴テーブル５を更新したので、これをまとめて出力データ６中の代替文字に対して正しい文字（文字コード）で置換することを要求する。
【００４３】
Ｓ５０は、変換エラー履歴テーブル５を読み込む。
Ｓ５１は、出力位置を順次取り出す。
Ｓ５２は、出力位置に基づき、出力データ６中の代替文字を変換先コードに置換する。
【００４４】
Ｓ５３は、履歴が終わりか判別する。ＹＥＳの場合には、終了する（ＥＮＤ）。ＮＯの場合には、Ｓ５１に戻り繰り返す。
以上によって、代替文字を含む出力データ６および変換エラー履歴テーブル５の内容を後述する図８のウィンドウ２、ウィンドウ１に示すようにそれぞれ表示し、変換エラー履歴テーブル５の内容を表示した任意のエントリを選択して変換先の正しいコードを入力すると、自動的に出力データ６中の該当代替文字を正しい変換先の文字（文字コード）に置換することが可能となる。
【００４５】
次に、図６のフローチャートに示す順序に従い、図１の構成の変換エラー履歴テーブル５をもとに出力データ６中の代替文字を正しい文字に置換するときの手順を詳細に説明する。
【００４６】
図６は、本発明の動作説明フローチャート（その３）を示す。
図５において、Ｓ６１は、補正を要求する。これは、既述した出力データ６中の代替文字を正しい変換先の文字に変換する補正要求を行う。
【００４７】
Ｓ６２は、変換エラー履歴テーブル５を読み込む。
Ｓ６３は、ウィンドウ１にエラー一覧表示する。これは、後述する図９の画面上の右側のウィンドウ１に変換エラー履歴テーブル５のエラー一覧を表示する。
【００４８】
Ｓ６４は、出力データを読み込む。
Ｓ６５は、ウィンドウ２に出力データを表示する。これは、後述する図９の画面上の左側のウィンンドウ２に出力データ６（代替文字が■）を表示する。
【００４９】
Ｓ６６は、変換エラー履歴テーブル５の出力位置より、ウィンドウ２上の代替文字を強調表示し、最初の代替文字に位置づける。
Ｓ６７は、ウィンドウ２で、代替文字の代わりに、正しい変換先文字を入力する。これらＳ６６およびＳ６７は、後述する図９に示すように、左側のウィンドウ２上の出力データ６中の代替文字（■で表す）を強調表示し、図９の右下のエラー補正入力に示すように、
・位置：
・変換元コード：
・変換先コード：
の欄のうちの変換先コードの欄に変換後の正しい文字を入力する（ウィンドウ２上の代替文字を正しい文字で上書きして入力してもよい）。
【００５０】
Ｓ６８は、同じ変換元コードが他にあるか判別する。これは、Ｓ６７で正しい変換後の文字が入力されたことに対応して、同じ変換元コードが他にあるか判別する。ＹＥＳの場合には、Ｓ６９でウィンドウ２上の出力データ６中の同じ変換元コードを全て正しい変換文字へ置換し、Ｓ７０に進む。一方、Ｓ６８のＮＯの場合には、Ｓ７０に進む。
【００５１】
Ｓ７０は、入力された変換先文字をウィンドウ１の変換先コードへ反映する。
Ｓ７１は、ウィンドウ２上の、次の代替文字に位置づける。
Ｓ７２は、代替文字が終わりか判別する。ＹＥＳの場合には、Ｓ７３に進む。ＮＯの場合には、Ｓ６７に戻り繰り返す。
【００５２】
Ｓ７３は、確認する。ＯＫの場合には、Ｓ７４に進む。ＮＧの場合には、Ｓ６６に戻り繰り返す。
Ｓ７４は、出力データの更新を行う。
【００５３】
Ｓ７５は、変換エラー履歴デーブル５の更新を行う。
以上によって、代替文字を含む出力データ６および変換エラー履歴テーブル５の内容を後述する図９のウィンドウ１、ウィンドウ２に示すようにそれぞれ表示し、ウィンドウ２上（あるいは右下のエラー補正入力ウィンドウ上）で変換先の正しい文字を入力すると、自動的に出力データ６中の該当代替文字を正しい変換先の文字（文字コード）に置換することが可能となる。
【００５４】
次に、図７のフローチャートに示す順序に従い、図１の構成の変換エラー履歴テーブル５の内容をコード変換テーブル４に反映するときの手順を詳細に説明する。
【００５５】
図７は、本発明の動作説明図（その４）を示す。
図７の（ａ）は、フローチャートを示す。
図７の（ａ）において、Ｓ８１は、再利用を要求する。
【００５６】
Ｓ８２は、変換エラー履歴テーブルを読み込む。
Ｓ８３は、変換先コードを順次取り出す。
Ｓ８４は、コード変換テーブル４への追加を行う。追加は、
・変換元コード：
・変換先コード：
を対にしてコード変換テーブル４に追加する。
【００５７】
Ｓ８５は、履歴が終わりか判別する。ＹＥＳの場合には、終了する（ＥＮＤ）。ＮＯの場合には、Ｓ８３に戻り繰り返す。
以上によって、変換エラー履歴テーブル５に登録されている、未定義であった変換先コードが、変換元コードと正しい変換先コードを対にしてコード変換テーブル４に追加することが可能となる。
【００５８】
図７の（ｂ）は、コード変換テーブル４に追加する様子を示す。ここでは、変換エラー履歴テーブル５から既述した図３の新対応つけテーブルを作成し、この中の変換元コードと正しい変換先コードとを対にしてコード変換テーブル４に追加する。
【００５９】
以上によって、コード変換テーブル４に未定義コードであったものが自動的に追加され、次回以降は自動的にコード変換されることとなる。
図８は、本発明の表示例（その１）を示す。これは、左側のウィンドウ２に出力データ６を表示（代替文字は■で表示）し、右側のウィンドウ１に変換エラー履歴テーブル５の内容（変換元コード、変換先コード、発生数、出力位置）を表示したものである。ここでは、変換先コードをオペレータがキー入力すると、自動的に変換先コードとして登録、出力データ６中の該当代替文字が正しい変換先コードに対応する文字に自動置換されて表示されることとなる。
【００６０】
図９は、本発明の表示例（その２）を示す。これは、左側のウィンドウ２に出力データ６を表示（代替文字は■で表示）し、右側のウィンドウ１に変換エラー履歴テーブル５の内容（変換元コード、変換先コード、発生数、出力位置）を表示し、右下のエラー補正入力ウィンドウに出力位置、変換元コード、、変換先コードとして正しい文字を入力（併せて文字コードを表示）して表示したものである。ここでは、変換先の文字をオペレータがキー入力すると、自動的に変換先コードとして登録、出力データ６中の該当代替文字が正しい文字（変換先コード）に自動置換されて表示されることとなる。
【００６１】
なお、本発明による文字コードの変換は、上述のように、未定義文字コードについて正しい文字コードを入力されると同時にリアルタイムで行うもののほか、未定義文字コードについて位置情報を記憶しておき、正しい文字コードの入力とは非同時にバッチ処理を行ってもよいことはいうまでもない。
【００６２】
【発明の効果】
以上説明したように、本発明によれば、入力データ１についてコード変換テーブル４を参照して変換を行い、未定義コードの場合には代替文字で出力すると共に変換エラー履歴テーブル５に文字コード、位置を蓄積し、変換エラー履歴テーブル５をもとに指定された文字コードあるいは文字に置換およびコード変換テーブル４に反映する構成を採用しているため、文字データの１回の読み込みで文字コードの変換を迅速に実現することができると共に次回以降の処理に自動反映することができる。これらにより、従来の事前に未然に未定義コードを調査する必要がなくなり、コード変換により品質の高い未定義文字の調査機能を併せ持たせることができ、しかも一度コード変換した未定義文字は自動的にコード変換テーブル４に追加して次回以降自動的にコード変換できる。
【００６３】
さらに、未定義の文字コードの編集に際し、その前後の文字列を表示しているため、その前後関係から容易に編集すべき文字列を推定することができる。したがって、利用者は、変更前のファイルを、逐一参照する必要はない。
【００６４】
また、未定義の文字コードの修正に際し、当該未定義の文字、すなわち修正対象となる文字を順次検索し、修正を促す画面を表示するため、利用者は、編集対象の文字を探す必要がなくなり、利用者の作業負担が軽減される。
【図面の簡単な説明】
【図１】本発明のシステム構成図である。
【図２】本発明の動作説明図（その１）である。
【図３】本発明の動作説明図（その２）である。
【図４】本発明の動作説明フローチャート（その１）である。
【図５】本発明の動作説明フローチャート（その２）である。
【図６】本発明の動作説明フローチャート（その３）である。
【図７】本発明の動作説明フローチャート（その４）である。
【図８】本発明の表示例（その１）である。
【図９】本発明の表示例（その２）である。
【図１０】従来技術の説明図である。
【符号の説明】
１：入力データ
２：文字コード変換手段
３：変換エラー蓄積手段
４：コード変換テーブル
５：変換エラー履歴テーブル
６：出力データ
７：変換エラー補正手段
８：表示・入力装置
９：エラー処置再利用手段
【図１】
0003639713.tif 000002
【図２】
0003639713.tif 000003
【図３】
0003639713.tif 000004
【図４】
0003639713.tif 000005
【図５】
0003639713.tif 000006
【図６】
0003639713.tif 000007
【図７】
0003639713.tif 000008
【図８】
0003639713.tif 000009
【図９】
0003639713.tif 000010
【図１０】
0003639713.tif 000011