(57)【要約】【課題】  国・言語組み合せ情報を設定することで、適切な言語でオンラインアルバムを提供し、居住地（国）に適したサービスを提供する。【解決手段】  国・言語組み合わせ情報に関連して、用途に応じたエンコーディング、文字セットを設定することにより、用途ごとに適切な変換を行い文字化けを防ぐ。【選択図】  図１
2009271764.tif 000002
【特許請求の範囲】
【請求項１】
処理可能な国情報を保持する国情報保持手段と、
処理可能な言語情報を保持する言語情報保持手段と、
処理可能な国情報と言語情報の組み合わせと、該組み合わせのとき使用される文字セット、エンコーディング、文字セット以外の文字が使用されたときの置き換え文字を出力形態ごとに保持する国言語情報保持手段と、
前記国言語情報保持手段で保持される国情報と言語情報との組み合わせと関連して、表示文言およびその型を保持する文言保持手段と、
前記文言保持手段が保持する文言が、出力形態に応じ、前記国言語情報保持手段で保持された文字セット以外の文字を含むとき、前記国言語情報保持手段で保持された文字セット以外の文字が使用されたときの置き換え文字で置き換え、前記国言語情報保持手段で保持されたエンコーディングでエンコードする変換手段とを有することを特徴とする情報処理装置。
【請求項２】
前記国言語情報保持手段が、さらに年月日や時刻の並びを示す日時フォーマットを保持し、
前記文言保持手段が保持する文言の型が日時型であるとき、国言語情報保持手段が保持する日時フォーマットを使用して、文字列に変換を行う日時データ変換手段をさらに有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記国言語情報保持手段が、さらに通貨記号と通貨記号が数字の前に表示されるべきか後に表示されるかを示す通貨フォーマットを保持し、
前記文言保持手段が保持する文言の型が金額に関するものであるとき、国言語情報保持手段が保持する通貨フォーマットを使用して、通貨記号を伴った文字列に変換を行う通貨データ変換手段、
をさらに有することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記国言語情報保持手段が、さらに数値の小数点や区切り子を示す数値フォーマットを保持し、
前記文言保持手段が保持する文言の型が数値に関するものであるとき、国言語情報保持手段が保持する数値フォーマットを使用して、文字列に変換を行う数値データ変換手段をさらに有することを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記変換手段が、さらに外部から入力された文字列についても、出力形態に応じ、前記国言語情報保持手段で保持された文字セット以外の文字を含むとき、前記国言語情報保持手段で保持された文字セット以外の文字が使用されたときの置き換え文字で置き換え、前記国言語情報保持手段で保持されたエンコーディングでエンコードできることを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記外部から入力された文字列を保持する外部入力文字列保持手段をさらに備え、
前記国言語情報保持手段が、さらに前記外部入力文字列保持手段に保持されるに適切な文字セット、エンコーディング、文字セット以外の文字が使用されたときの置き換え文字を保持すること、
を特徴とする請求項１〜請求項５のいずれかに記載の情報処理装置。
【請求項７】
前記変換手段が、さらに前記外部から入力された文字列が前記国言語情報保持手段で保持された文字セット以外の文字を含むとき、前記国言語情報保持手段で保持された文字セット以外の文字が使用されたときの置き換え文字で置き換え、前記国言語情報保持手段で保持されたエンコーディングでエンコードできることを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記外部から入力された文字列の入力を受け付ける際に、前記国言語情報保持手段が保持する、前記外部入力文字列保持手段に保持されるに適切な文字セット、エンコーディングを用いて入力用のウェブページを提供する入力手段を、
さらに備えることを特徴とする請求項６〜請求項７のいずれかに記載の情報処理装置。
【請求項９】
前記国言語情報保持手段が保持する文字セット、エンコーディング、文字セット以外の文字が使用されたときの置き換え文字が、ウェブページを出力する上で適切なものであることを特徴とする請求項１〜請求項８のいずれかに記載の情報処理装置。
【請求項１０】
前記国言語情報保持手段が保持する文字セット、エンコーディング、文字セット以外の文字が使用されたときの置き換え文字が、ＣＳＶファイルを出力する上で適切なものであることを特徴とする請求項１〜請求項８のいずれかに記載の情報処理装置。
【請求項１１】
前記国言語情報保持手段が保持する文字セット、エンコーディング、文字セット以外の文字が使用されたときの置き換え文字が、ＸＭＬファイルを出力する上で適切なものであることを特徴とする請求項１〜請求項８のいずれかに記載の情報処理装置。
【請求項１２】
前記国言語情報保持手段が保持する文字セット、エンコーディング、文字セット以外の文字が使用されたときの置き換え文字が、電子メールの本文および電子メールのサブジェクトをそれぞれ出力する上で適切なものであり、
前記変換手段が、電子メールの本文、電子メールのサブジェクトそれぞれに対して、前記国言語情報保持手段で保持された文字セット以外の文字を含むときの、前記国言語情報保持手段で保持された文字セット以外の文字が使用されたときの置き換え文字での置き換え、前記国言語情報保持手段で保持されたエンコーディングでのエンコードをする請求項１〜請求項８のいずれかに記載の情報処理装置。
【請求項１３】
前記国言語情報保持手段が保持する文字セット、エンコーディング、文字セット以外の文字が使用されたときの置き換え文字が、クライアントにインストールされたアプリケーションに対するデータを出力する上で適切なものであることを特徴とする請求項１〜請求項８のいずれかに記載の情報処理装置。
【請求項１４】
請求項１〜請求項１３のいずれかに記載の情報処理装置の制御をコンピュータで実現するために該コンピュータにより実行される制御プログラム。
【請求項１５】
請求項１４に記載の制御プログラムを記録したコンピュータ可読の記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はネットワークを通じ複数の国の人々に対して複数の言語で行われるコンテンツの表示やサービスの提供に関するものである。
【背景技術】
【０００２】
近年、通信インフラの整備及び情報通信技術の発展により、インターネットを利用した情報提供サービスが可能になった。インターネットは国境を越えての接続となるので、複数の国において情報提供を行うためには、複数の言語のウェブページを提供することにより行われる。
【０００３】
複数の言語のウェブページを提供するためには言語別に使用される文字コードが別々にすることが一般的だったが、ユニコードの利用が一般的になったことにより複数の言語のウェブページを設けることも可能となった。ユニコードの利用を前提に複数の言語のウェブページを設けるためには、各国言語のウェブページにおいて画面に表示されるための文字を、各国言語別にファイルで管理する方法が一般的である。
【０００４】
上記の例として、下記特許文献１と特許文献２をあげることが出来る。
【特許文献１】特開2001-028788号公報
【特許文献２】特開平05-242139号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ユニコードの利用を前提とし各国言語のウェブページにおいて画面に表示される文字列を各国言語別にファイルで管理する方法を採用した場合には、以下の問題があった。
【０００６】
まず同一の言語を使用する国が複数あるので、それぞれの代理店や販売会社が異なり、サポート用のＵＲＬが異なる場合がある。また同じ理由から通貨などが異なる場合がある。単に言語別にファイルで管理した場合、この要求にこたえることができない。
【０００７】
また単にウェブブラウザに表示を行うだけでなく、クライアントにインストールされたアプリケーションと情報の交換を行う場合には、クライアント環境において文字化けなどをおこさないで正常に表示するためにはクライアント環境の文字セット、エンコーディングを意識する必要がある。この場合単にユニコードを使えばよいというわけではなく、クライアントのＯＳなど環境に応じた異なった体系での指定が必要となる。
【０００８】
またユニコードの歴史自体が浅いため、日本語などの表示を行ったときに正常に動作しない場合がある。これはＯＳやブラウザ側の問題であるが、ウェブのようにどのようなＯＳやブラウザを使用するかを指定できない場合は深刻な問題となる。なおこれら問題の中にはＯＳやブラウザの開発元として別のエンコーディングの使用を回避策として提示しているものもある。
【０００９】
この回避策を用い、ユニコードを使用せず、各国語それぞれに固有のエンコーディングを使用したとき、文字セットの解釈がＯＳやデータベース、プログラミング言語でそれぞれ異なるために、文字化けが発生する場合がある。
【課題を解決するための手段】
【００１０】
上記課題を解決するため、本発明の情報処理装置は、
処理可能な国情報を保持する国情報保持手段と、
処理可能な言語情報を保持する言語情報保持手段と、
処理可能な国情報と言語情報の組み合わせと、該組み合わせのとき使用される文字セット、エンコーディング、文字セット以外の文字が使用されたときの置き換え文字を出力形態ごとに保持する国言語情報保持手段と、
前記国言語情報保持手段で保持される国情報と言語情報との組み合わせと関連して、表示文言およびその型を保持する文言保持手段と、
前記文言保持手段が保持する文言が、出力形態に応じ、前記国言語情報保持手段で保持された文字セット以外の文字を含むとき、前記国言語情報保持手段で保持された文字セット以外の文字が使用されたときの置き換え文字で置き換え、前記国言語情報保持手段で保持されたエンコーディングでエンコードする変換手段とで構成される。
【発明の効果】
【００１１】
同一言語を使用している複数の地域に対して別々のサービスを提供することが可能となり、ユニコード以外のエンコードを使用した場合にも文字化けを防ぐことができる。
【発明を実施するための最良の形態】
【００１２】
次に、本発明の詳細を実施例の記述に従って説明する。
【００１３】
以下、添付の図面を参照して本発明の好適な実施形態を説明する。
＜コンピュータ装置の構成例＞
図７は本実施形態においてサーバ側でデータ作成するアプリケーションを実行する情報処理装置として利用可能なコンピュータ装置の構成例を示すブロック図である。
【００１４】
図７において、ディスプレイ  Ｃ１０１はアプリケーションプログラムによって処理中のデータの情報、各種メッセージメニューなどを表示し、ＣＲＴ（Cathode Ray Tube）、ＬＣＤ(Liquid Crystal Display)等から構成される。ビデオＲＡＭ（ＶＲＡＭ）ディスプレイコントローラとしてのＣＲＴＣ  Ｃ１０２は、ディスプレイ  Ｃ１０１への画面表示制御を行う。キーボード  Ｃ１０３及びポインティングデバイス  Ｃ１０４は、文字などを入力したり、ＧＵＩ（Graphical User Interface）におけるアイコンやボタンなどを指し示すためなどに用いられる。ＣＰＵ  Ｃ１０５はコンピュータ装置全体の制御を司る。
【００１５】
ＲＯＭ  Ｃ１０６（Read Only Memory）はＣＰＵ  Ｃ１０５が実行するプログラムやパラメータ等を記憶している。ＲＡＭ（Random Access Memory）  Ｃ１０７は各種プログラムをＣＰＵ１０５が実行する時のワークエリア、エラー処理時の一時退避エリア等として用いられる。
【００１６】
ハードディスクドライプ（ＨＤＤ）  Ｃ１０８、リムーバブルメディアドライプ（ＲＭＤ）  Ｃ１０９は、外部記憶装置として機能する。リムーバブルメディアドライブは、着脱可能な記録媒体の読み書き又は読み出しを行う装置であり、フレキシブルディスクドライブ、光ディスクドライブ、光磁気ディスクドライブ、メモリカードリーダはもとより、着脱式ＨＤＤなどであってもよい。
【００１７】
なお、本実施形態において説明するサーバおよびクライアントの各種機能を実現するプログラムを始め、ＯＳや、Ｗｅｂブラウザ等のアプリケーションプログラム、データ、ライプラリなどは、その用途に応じてＲＯＭ  Ｃ１０６、ＨＤＤ  Ｃ１０８、ＲＭＤ  Ｃ１０９（の記録媒体）の１つ以上に記憶されている。
【００１８】
拡張スロット  Ｃ１１０は、例えばＰＣＩ(Peripheral Component Interconnect)バス規格に準拠した拡張カード装着用スロットであり、ビデオキャプチャボードや、サウンドボード、ＧＰＩＢボードなど、様々な拡張ボードを装着することが可能である。
【００１９】
ネットワークインタフェース  Ｃ１１１はコンピュータ装置をコンピュータネットワークに接続するためのインタフェースである。バス  Ｃ１１２はアドレスバス、データバスおよび制御バスからなり、上述した各ユニット間を接続する。また、ネットワークインタフェース  Ｃ１１１の他に、ＲＳ−２３２Ｃ、ＲＳ−４２２、ＵＳＢ(Universal Serial Bus)、ＩＥＥＥ１３９４等のシリアルインタフェースや、ＩＥＥＥ１２８４等のパラレルインタフェースを有し、モデムやプリンタ等の外部機器との接続を可能にしている。
＜システム概要＞
図８は本発明の実施例におけるシステム概要である。サーバＭ０１およびデータベースＭ０２は図７で示したコンピュータ装置により構成される。またデータペースはソフトウェアとして、ＯＳの他リレーショナルデータベースマネージメントシステムがインストールされているが、使用するデータベースマネージメントシステムがリレーショナルデータベースマネージメントシステムである必要があるわけではない。オブジェクト指向データベースなどによっても同等の機能は実現可能であり本発明において本質的な要素ではない。
【００２０】
クライアント側としては図７で示したコンピュータ装置でも可能であるし、Ｗｅｂブラウザがインストール済みの携帯電話などの携帯端末でもゲーム機、テレビ受像機などであってもよい。
＜データ構造＞
図１は本発明の実施例におけるデータ構造である。図１は、図８のデータベースＭ０２中に存在するテーブル群Ｐ０２０１に含まれるテーブルのうち本発明にかかわるものだけを抜き出したものである。
【００２１】
まずシステム提供者としてこのシステムを利用されることを期待する国を定義するテーブルとして、図１の国テーブルＴ０１がある。つまりインターネットの特性上このシステムが利用できる国を限定することはできないが、システム提供者として想定される国を限定する意図でＴ０１に国を指定することができる。システム管理者が想定する国の名前をカラムＴＣ０１０２に、国に対して付加したＩＤをカラムＴＣ０１０１に登録する。
【００２２】
またウェブが提供する言語を定義するテーブルとして、図１の言語テーブルＴ０２がある。このテーブルも言語名をカラムＴＣ０２０２に、各言語に対して付加したＩＤをカラムＴＣ０２０１に登録する。
【００２３】
そして、システム提供者としてこのシステムが利用されることを期待する国と言語の組み合わせを定義するのが図１の国言語組み合わせテーブルＴ０３である。たとえば、フランスにおいてフランス語を使用してこのシステムが利用されることが期待される場合は、Ｔ０１にフランスを意味する国ＩＤを、Ｔ０２にフランス語を意味する言語ＩＤをそれぞれ定義し、この国ＩＤおよび言語ＩＤをそれぞれカラムＴＣ０３０２およびカラムＴＣ０３０３に、そしてこの組み合わせを意味する主キーとして国言語ＩＤをカラムＴＣ０３０１にあたえたレコードをＴ０３に登録することによって定義する。さらにベルギーにおいてはオランダ語のみをサポートしフランス語をサポートしないときは、Ｔ０１にベルギーを意味する国ＩＤを、Ｔ０２にオランダ語を意味する言語ＩＤをそれぞれ追加し、Ｔ０３にベルギー語を意味する国ＩＤとオランダ語を意味する言語ＩＤおよびこれらの組み合わせに対してあたえられた主キーによって定義されるレコードを追加すればよい。つまりＴ０３にはシステム提供者としてこのシステムを利用されることが期待する国と言語の組み合わせのみ登録されるのであって、Ｔ０１に登録された国とＴ０２に登録された言語のすべての組み合わせが登録されるわけではない。
【００２４】
国言語組み合わせテーブルＴ０３においては、ウェブページで使用するエンコーディング（カラムＴＣ０３０４に格納される）と文字セット（カラムＴＣ０３０５に格納される）、時刻のフォーマット（カラムＴＣ０３０６に格納される）、通貨のフォーマット（カラムＴＣ０３０７に格納される）、数値のフォーマット（カラムＴＣ０３０８に格納される）、クライアントアプリケーションで使用されるエンコーディング（カラムＴＣ０３０９に格納される）、クライアントアプリケーションで使用される文字セット（カラムＴＣ０３１０に格納される）、電子メールに使用するエンコーディング（カラムＴＣ０３１１に格納される）と文字セット（カラムＴＣ０３１２に格納される）、電子メールのＳｕｂｊｅｃｔに使用するエンコーディング（カラムＴＣ０３１３に格納される）、文字セットに含まれない文字があった時に置き換える文字（カラムＴＣ０３１４に格納される）、ＣＳＶファイルを作成する際に使用されるエンコーディング（カラムＴＣ０３１５に格納される）と文字セット（カラムＴＣ０３１６に格納される）、ＣＳＶドキュメントの区切り子（カラムＴＣ０３１７に格納される）などを登録する。なおＴ０３は国ＩＤと言語ＩＤの組み合わせそれぞれに対して一レコードしか登録できないものとする。
【００２５】
念のため付言するが、Ｔ０３１３で定義された文字セットに含まれない文字があったときに置き換える文字はＴＣ０３０５、ＴＣ０３１０、ＴＣ０３１２、ＴＣ０３１６で定められた文字セットのいずれにも含まれる文字でなければいけない。本実施例においてはＴＣ０３０５、ＴＣ０３１０、ＴＣ０３１２、ＴＣ０３１６で定義された文字セットに共通なものとして「文字セットに含まれない文字があったときに置き換える文字」をＴ０３１３で定めたが、他にカラムを設けＴＣ０３０５、ＴＣ０３１０、ＴＣ０３１２、ＴＣ０３１６で定義された文字セットそれぞれについて「文字セットに含まれない文字があったときに置き換える文字」を定めることもできる。
【００２６】
さらにＴＣ０３０５、ＴＣ０３１０、ＴＣ０３１２、ＴＣ０３１６で定められた文字セットは、それぞれＴＣ０３０４、ＴＣ０３０９、ＴＣ０３１１、ＴＣ０３１５で定められたエンコーディングで表現可能なものでなければならない。
【００２７】
なおクライアントの環境によってはＴＣ０３０９で定めるべきとしたエンコーディングとＴ０３１０で定めるべきとした文字セットがもともと一つの名称でしか指定できない場合もありうる。この場合、テーブルＴ０３中にはＴＣ０３０９とＴ０３１０との二つのカラムを設定することは不要である。しかしこの場合は一つの名称で特定のエンコーディングと文字セットを表しているわけであり、以下の説明になんら修正を与える必要はない。またクライアントの環境が複数ありうる場合は、環境ごとにカラムを用意する必要がある。これも環境に応じて使い分ければよいだけであるから、以下の説明に修正を与える必要はない。
【００２８】
次に特定画面の特定の表示位置に表示される文言や電子メールに使用される文言などこのシステムで使用される翻訳が必要となるすべての言葉は、メッセージテーブルＴ０４のカラムＴＣ０４０２で定義され、Ｔ０４の主キーであるメッセージＩＤ（カラムＴＣ０４０１に格納される）と紐付けられる。
【００２９】
そしてメッセージＩＤに対してはすべての国言語ＩＤに対して、その国言語ＩＤがあらわす国と言語において適切な文言がメッセージ内容テーブルＴ０５で定義される。つまりメッセージＩＤがカラムＴＣ０５０１に、国言語ＩＤがカラムＴＣ０５０２に格納されることで定義されるレコードにおいて、メッセージの内容がカラムＴＣ０５０３に登録され、そのデータ型をＴＣ０５０４に登録することで、個々の国と言語の組み合わせに対する具体的な値を定義する。例えば、前述の例で言えば、フランスとフランス語の組み合わせに対しては、メッセージＩＤが示す特定画面の特定の表示位置など用途に応じたフランス語の文言が登録されるであろうし、フランスにおける価格やフランスにおける代理店や販売会社のウェブページのＵＲＬへのリンクが登録されるだろう。さらに、ベルギーとオランダ語の組み合わせに対しては、メッセージＩＤが示す特定画面の特定の表示位置など用途に応じたオランダ語の文言が登録されるであろうし、ベルギーにおける価格やベルギーにおける代理店や販売会社のウェブページのＵＲＬへのリンクが登録されるだろう。前述の例と異なり、ベルギーとフランス語の組み合わせがＴ０３に登録されていたときは、メッセージＩＤが示す特定画面の特定の表示位置など用途に応じた文言がフランスとフランス語の組み合わせのものと同一である一方で、価格や代理店や販売会社のウェブページのＵＲＬへのリンクはベルギーとオランダ語の組み合わせのものと同一であるということも可能である。
＜ウェブブラウザでの表示の制御方法＞
ではこのデータ構造を用いてどのようにウェブブラウザでの表示の制御を行うのかについて次に述べるが、以下の前提としてまずウェブブラウザに表示すべき国と言語の組み合わせは以下の表示の制御を行う前に決定されていることとする。これを決める手段としては、例えば以下のようなものが想定されるが、本発明においてはこの決定手段自体は本質的なものではない。
【００３０】
例えば事前に会員登録を要し登録された会員のみが閲覧でき閲覧の前に認証を要するウェブページにおいては、会員登録の際に会員の住んでいる国や使用する言語の入力を求め会員と国言語ＩＤを紐付けるテーブルに登録しておき、ウェブページの表示の際に閲覧の前に認証を行った情報をもとに前記テーブルより表示を行うべき国言語ＩＤを取得することが考えられる。また会員登録を要しなくても閲覧前に国と言語の選択を求める画面を表示し、これをＣｏｏｋｉｅなどに保持することで閲覧者の国と言語の組み合わせを特定する方法もあろう。また、閲覧を行う者の使用するブラウザが発したＨＴＴＰリクエストに含まれるＡｃｃｅｐｔ−Ｌａｎｇｕａｇｅからユーザに最適な国言語の組み合わせを特定ないし推定することも可能である。
【００３１】
上記の方法などによって国言語が特定されている状況下で、ウェブブラウザでの表示を行うための制御方法を示したのが図２のフローチャートである。まず表示を行うウェブページに含まれる文言やリンクのＵＲＬなどウェブページを構成する要素のうちメッセージＩＤによって特定可能なものはメッセージＩＤと国言語ＩＤによってテーブルＴ０５のカラムＴＣ０５０３からメッセージの内容を取得する。ウェブページを構成する要素ではあるがメッセージＩＤによって特定できない文字列、たとえばユーザが以前に入力した文字列やテーブル群Ｐ０２０１には含まれるがＴ０１〜Ｔ０５以外のテーブルに含まれる値など、が必要な場合もあるが、このときもしかるべき場所から取得し文字列型に変換する（ＳＴ０２０１）。次にこのようにして得られたウェブページを構成する文字列がテーブルＴ０３のカラムＴＣ０３０５で定められた文字セットの文字だけを使っているかを調べ（ＳＴ０２０２）、もし前記文字セットの文字だけを使っているのであればそれをそのまま用い、それ以外であれば文字セットに含まれない文字をテーブルＴ０３のカラムＴＣ０３１４で定められた文字で置き換えを行う（ＳＴ０２０３）。他にもこのウェブページを構成する文字列があれば（ＳＴ０２０４）、ＳＴ０２０１からＳＴ０２０３までの処理を続けて行う。これらの処理の結果得られた変換済みの文字列はすべてテーブルＴ０３のカラムＴＣ０３０５で指定された文字セットに含まれることになる。またＴ０３のカラムＴＣ０３０５で定められた文字セットはＴＣ０３０４で定められたエンコーディングで表しうるのであるから、ウェブページを構成する要素である文字列を組み合わせて、ＴＣ０３０４で定められたエンコーディングで、ウェブページを作成する（ＳＴ０２０５）。
＜ＣＳＶファイル作成の制御方法＞
次にＣＳＶファイル作成の制御方法を示したのが図３である。この場合も事前に作成を行うＣＳＶファイルがどこの国とどの言語を使用する人を対象にして作られるかは前述した方法などによって特定済みであり、国言語ＩＤは既知であるとする。
【００３２】
まず作成を行うＣＳＶファイルに含まれる文字列や数値などＣＳＶファイルを構成する要素のうちメッセージＩＤによって特定可能なものはメッセージＩＤと国言語ＩＤによってテーブルＴ０５のカラムＴＣ０５０３からメッセージの内容を取得する。ＣＳＶファイルを構成する要素ではあるがメッセージＩＤによって特定できない文字列、たとえばユーザが以前に入力した文字列やテーブル群Ｐ０２０１には含まれるがＴ０１〜Ｔ０５以外のテーブルに含まれる値など、が必要な場合もあるが、このときもしかるべき場所から取得し文字列型に変換する（ＳＴ０３０１）。次にこのようにして得られたＣＳＶファイルを構成する文字列がテーブルＴ０３のカラムＴＣ０３１６で定められた文字セットの文字だけを使っているかを調べ（ＳＴ０３０２）、もし前記文字セットの文字だけを使っているのであればそれをそのまま用い、それ以外であれば文字セットに含まれない文字をテーブルＴ０３のカラムＴＣ０３１４で定められた文字で置き換えを行う（ＳＴ０３０３）。他にもこのＣＳＶファイルを構成する文字列があれば（ＳＴ０３０４）、ＳＴ０３０１からＳＴ０３０３までの処理を続けて行う。これらの処理の結果得られた変換済みの文字列はすべてテーブルＴ０３のカラムＴＣ０３１６で指定された文字セットに含まれることになる。またＴ０３のカラムＴＣ０３１６で定められた文字セットはＴＣ０３１５で定められたエンコーディングで表しうるのであるから、ＣＳＶファイルを構成する要素である文字列を組み合わせて、ＴＣ０３１５で定められたエンコーディングで、ＣＳＶファイルを作成する（ＳＴ０３０５）。
【００３３】
ここではＣＳＶファイルの作成方法について述べたが、別のファイル、たとえばＸＭＬファイルなどについても、ファイルの構成要素に対して同様の置き換えを行うことで特定の文字セットの文字で構成されたファイルを特定のエンコーディングで表現しうる。ただしこのような場合、テーブルＴ０３にこのファイルフォーマット用のエンコーディング方法と文字セットに加えこのファイルフォーマット特有の属性を指定するカラムが必要が場合がある。そのファイルフォーマットの形式によっては文字セットまたはエンコーディングをファイル中に明記する必要がある場合もあるが、これにはテーブルＴ０３中にあるファイル作成の際に用いた文字セットまたはエンコーディングを使用すればよい。
＜電子メールの文面作成の制御方法＞
次に電子メールの文面作成の制御方法を示したのが図４である。この場合も作成された電子メールを受け取る人の国と言語については特定済みであり、国言語ＩＤは既知であるとする。
【００３４】
まず作成を行う電子メールの本文に含まれる文字列や数値など電子メールの本文を構成する要素のうちメッセージＩＤによって特定可能なものはメッセージＩＤと国言語ＩＤによってテーブルＴ０５のカラムＴＣ０５０３からメッセージの内容を取得する。電子メールの本文を構成する要素ではあるがメッセージＩＤによって特定できない文字列、たとえばユーザが以前に入力した文字列やテーブル群Ｐ０２０１には含まれるがＴ０１〜Ｔ０５以外のテーブルに含まれる値など、が必要な場合もあるが、このときもしかるべき場所から取得し文字列型に変換する（ＳＴ０４０１）。次にこのようにして得られた電子メールの本文を構成する文字列がテーブルＴ０３のカラムＴＣ０３１２で定められた文字セットの文字だけを使っているかを調べ（ＳＴ０４０２）、もし前記文字セットの文字だけを使っているのであればそれをそのまま用い、それ以外であれば文字セットに含まれない文字をテーブルＴ０３のカラムＴＣ０３１４で定められた文字で置き換えを行う（ＳＴ０４０３）。他にもこの電子メールの本文を構成する文字列があれば（ＳＴ０４０４）、ＳＴ０４０１からＳＴ０４０３までの処理を続けて行う。これらの処理の結果得られた変換済みの文字列はすべてテーブルＴ０３のカラムＴＣ０３１２で指定された文字セットに含まれることになる。またＴ０３のカラムＴＣ０３１２で定められた文字セットはＴＣ０３１１で定められたエンコーディングで表しうるのであるから、電子メールの本文を構成する要素である文字列を組み合わせて、ＴＣ０３１１で定められたエンコーディングで、電子メールの本文を作成する（ＳＴ０４０５）。
【００３５】
次に作成を行う電子メールのＳｕｂｊｅｃｔに含まれる文字列や数値など電子メールのＳｕｂｊｅｃｔを構成する要素のうちメッセージＩＤによって特定可能なものはメッセージＩＤと国言語ＩＤによってテーブルＴ０５のカラムＴＣ０５０３からメッセージの内容を取得する。電子メールのＳｕｂｊｅｃｔを構成する要素ではあるがメッセージＩＤによって特定できない文字列、たとえばユーザが以前に入力した文字列やテーブル群Ｐ０２０１には含まれるがＴ０１〜Ｔ０５以外のテーブルに含まれる値など、が必要な場合もあるが、このときもしかるべき場所から取得し文字列型に変換する（ＳＴ０４０６）。次にこのようにして得られた電子メールのＳｕｂｊｅｃｔを構成する文字列がテーブルＴ０３のカラムＴＣ０３１２で定められた文字セットの文字だけを使っているかを調べ（ＳＴ０４０７）、もし前記文字セットの文字だけを使っているのであればそれをそのまま用い、それ以外であれば文字セットに含まれない文字をテーブルＴ０３のカラムＴＣ０３１４で定められた文字で置き換えを行う（ＳＴ０４０８）。他にもこの電子メールのＳｕｂｊｅｃｔを構成する文字列があれば（ＳＴ０４０９）、ＳＴ０４０６からＳＴ０４０８までの処理を続けて行う。これらの処理の結果得られた変換済みの文字列はすべてテーブルＴ０３のカラムＴＣ０３１２で指定された文字セットに含まれることになる。またＴ０３のカラムＴＣ０３１２で定められた文字セットはＴＣ０３１１で定められたエンコーディングで表しうるのであるから、電子メールのＳｕｂｊｅｃｔを構成する要素である文字列を組み合わせて、ＴＣ０３１１で定められたエンコーディングで、電子メールのＳｕｂｊｅｃｔを表す文字列を作成する（ＳＴ０４１０）。この電子メールのＳｕｂｊｅｃｔを表す文字列がＡＳＣＩＩテキストでないときは（ＳＴ０４１１）、テーブルＴ０３のカラムＴＣ０３１３で指定されたエンコーディングに従いＲＦＣ２０４７で規定されたとおりにＱエンコーディングかＢエンコーディングでエンコードする（ＳＴ０４１２）。こうしてできた電子メールの本文と電子メールのＳｕｂｊｅｃｔから電子メールを作成する（ＳＴ０４１３）。
＜クライアントにインストールされているアプリケーションと交信する場合＞
上記のようにサーバサイドでのみ処理を行うのではなく、クライアント（図８のＭ０３）にインストールされたブラウザ以外のアプリケーションと情報の交換を行い、サーバとクライアントにインストールされたアプリケーションの連携によってサービスを提供する場合がある。このときのクライアントにインストールされたアプリケーションに渡されるデータの作成方法について示したのが図５である。この場合も事前にアプリケーションを使用する人がどこの国でどの言語を使用する人なのかは前述した方法などによって特定済みであり、国言語ＩＤは既知であるとする。
【００３６】
まず作成を行うクライアントにインストールされたアプリケーションに渡されるデータに含まれる文字列や数値などクライアントにインストールされたアプリケーションに渡されるデータを構成する要素のうちメッセージＩＤによって特定可能なものはメッセージＩＤと国言語ＩＤによってテーブルＴ０５のカラムＴＣ０５０３からメッセージの内容を取得する。クライアントにインストールされたアプリケーションに渡されるデータを構成する要素ではあるがメッセージＩＤによって特定できない文字列、たとえばユーザが以前に入力した文字列やテーブル群Ｐ０２０１には含まれるがＴ０１〜Ｔ０５以外のテーブルに含まれる値など、が必要な場合もあるが、このときもしかるべき場所から取得し文字列型に変換する（ＳＴ０５０１）。次にこのようにして得られたクライアントにインストールされたアプリケーションに渡されるデータを構成する文字列がテーブルＴ０３のカラムＴＣ０３１０で定められた文字セットの文字だけを使っているかを調べ（ＳＴ０５０２）、もし前記文字セットの文字だけを使っているのであればそれをそのまま用い、それ以外であれば文字セットに含まれない文字をテーブルＴ０３のカラムＴＣ０３１４で定められた文字で置き換えを行う（ＳＴ０５０３）。他にもこのクライアントにインストールされたアプリケーションに渡されるデータを構成する文字列があれば（ＳＴ０５０４）、ＳＴ０３０１からＳＴ０３０３までの処理を続けて行う。これらの処理の結果得られた変換済みの文字列はすべてテーブルＴ０３のカラムＴＣ０３１０で指定された文字セットに含まれることになる。またＴ０３のカラムＴＣ０３１０で定められた文字セットはＴＣ０３０９で定められたエンコーディングで表しうるのであるから、クライアントにインストールされたアプリケーションに渡されるデータを構成する要素である文字列を組み合わせて、ＴＣ０３０９で定められたエンコーディングで、クライアントにインストールされたアプリケーションに渡されるデータを作成する（ＳＴ０３０５）。
【００３７】
逆にクライアントにインストールされたアプリケーションからサーバにデータが渡された時は、データを構成する文字列をテーブルＴ０３のカラムＴＣ０３０９のエンコーディングで解釈し、カラムＴＣ０３１０で指定された文字セット以外の文字はカラムＴＣ０３１４で指定された「文字セットに含まれない文字を置き換える文字」で置き換えた上で、適切に処理することで、その後の処理での文字化けを防ぐことができる。
【００３８】
また前述したようにテーブルＴ０３のカラムＴＣ０３０９およびカラムＴＣ０３１０で指定されているエンコーディングと文字セットは、アプリケーションがインストールされたクライアント環境に依存したものであるから、クライアントにインストールされたアプリケーションに、テーブルＴ０３のカラムＴＣ０３０９およびカラムＴＣ０３１０で指定されているエンコーディングと文字セットを渡すことによって、クライアントの挙動を変えることも可能である。
＜制御方法によらない共通事項＞
上記各制御方法を使用することによって、用途に応じ、また利用する人の国や言語に応じた、文字セットやエンコーディングを選ぶことができるので、ユニコードだけを使用することによって発生する問題などを回避することができる。
【００３９】
また国と言語の組み合わせに対して一意に決まる、年月日や時刻の並びを示す日時のフォーマットや、通貨記号や通貨記号が数字の前に表示されるべきか跡に表示されるかを示す通貨のフォーマット、数値の小数点や区切り子などを表す数値のフォーマットなどを、国言語ＩＤに対してＴＣ０３０６からＴＣ０３０８で定めることによって、上記各制御方法で置き換えの元となる文字列をＳＴ０２０１、ＳＴ０３０１、ＳＴ０４０１、ＳＴ０４０６、ＳＴ０５０１で取り出し作成する際に、共通化を図ることが可能となる。なお置き換えの元となる文字列を、Ｔ０５のＴＣ０５０３から取得しこれに上記日時のフォーマットや通貨のフォーマットや数値のフォーマットを適用することで作成する場合は、どのフォーマットを適用するのかはＴ０５のＴＣ０５０４から判断される。
【００４０】
ところでユニコードで使用される文字セットは複数のベンダーや国による標準を元に定められたので、”〜”のような記号は似たような字形が複数含まれている。このためにＯＳやデータベース、プログラミング言語によって記号をどこにマップするかの解釈が分かれている。これを原因とする文字化けをおこさないために、クライアントにインストールされたアプリケーションからサーバにデータが渡された場合やウェブページからの入力があった場合には、ＯＳやデータベース、プログラミング言語によって解釈が分かれている文字を一つのコードにマップすること必要である。このような置き換えを行うことによってデータベースＭ０２のテーブル群Ｐ０２０１に保存された時点で一つのコード体系となるので文字化けをおこすことはなくなる。
【００４１】
またウェブページとしてユニコード以外のエンコーディングを使用するときは、出力時の文字化けを防ぐためにテーブル群Ｐ０２０１に保存するときの文字セットを限定することが望ましい。このときは、Ｔ０３において保存する際に使用する文字セット、エンコーディング、文字セット以外の文字が使用されたときの置き換え文字を指定し、上記似た文字の置き換えを行った後で、出力のときと同様の置き換えを行い、保存すればよい。
【００４２】
また複数の文字セットの文字列を混在して表示しなければならないためやむを得ずユニコードで表示しているページにおいて何らかの編集を行わなければならないときは、上記のような置き換えを行うことも可能であるが、図６のように入力に適した文字セット、エンコーディングを指定した入力用のページを提供し、そこでの入力を受け付けるようにすれば、上記のような置き換えを行うことも不要である。
＜他の実施形態＞
尚、前述した実施形態の機能を実現するソフトウェアのプログラムを、記録媒体から直接、或いは有線／無線通信を用いて当該プログラムを実行可能なコンピュータを有するシステム又は装置に供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムを実行することによって同等の機能が達成される場合も本発明に含む。
【００４３】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータに供給、インストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。
【００４４】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００４５】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、磁気テープ等の磁気記録媒体、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ等の光／光磁気記憶媒体、不揮発性の半導体メモリなどがある。
【００４６】
有線／無線通信を用いたプログラムの供給方法としては、コンピュータネットワーク上のサーバに本発明を形成するコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイル等、クライアントコンピュータ上で本発明を形成するコンピュータプログラムとなりうるデータファイル（プログラムデータファイル）を記憶し、接続のあったクライアントコンピュータにプログラムデータファイルをダウンロードする方法などが挙げられる。この場合、プログラムデータファイルを複数のセグメントファイルに分割し、セグメントファイルを異なるサーバに配置することも可能である。
【００４７】
つまり、本発明の機能処理をコンピュータで実現するためのプログラムデータファイルを複数のユーザに対してダウンロードさせるサーバ装置も本発明に含む。
【００４８】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件を満たしたユーザに対して暗号化を解く鍵情報を、例えばインターネットを介してホームページからダウンロードさせることによって供給し、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００４９】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【００５０】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【図面の簡単な説明】
【００５１】
【図１】本発明の実施形態におけるデータ構造の例
【図２】本発明の実施形態においてウェブページを表示するときの処理のフローチャート
【図３】本発明の実施形態においてＣＳＶファイルを出力するときの処理のフローチャート
【図４】本発明の実施形態において電子メールを生成するときの処理のフローチャート
【図５】本発明の実施形態においてサーバからクライアントにインストールされたアプリケーションに対しデータの送信を行う際のデータを生成するときの処理のフローチャート
【図６】本発明の実施形態において文字化けを防ぐために入力用のウェブページを表示する場合の概念図
【図７】本発明の実施形態においてサーバを実行する情報処理装置として利用可能なコンピュータ装置の構成例を示す
【図８】本発明の実施形態におけるシステム全体の概念図
【図１】
2009271764.tif 000003
【図２】
2009271764.tif 000004
【図３】
2009271764.tif 000005
【図４】
2009271764.tif 000006
【図５】
2009271764.tif 000007
【図６】
2009271764.tif 000008
【図７】
2009271764.tif 000009
【図８】
2009271764.tif 000010