search cancel

CA Gen : Gen関数UpperdbcsがGen クライアント/サーバーアプリケーションで異なる文字コードをポイントする結果となることがあります

book

Article ID: 134300

calendar_today

Updated On:

Products

Gen

Issue/Introduction

◆ 詳細内容

Gen関数UpperdbcsがGen クライアント/サーバーアプリケーションで異なる文字コードをポイントする結果となることがあります。

例えば、Gen WindowsクライアントまたはGenサーバーで、小文字の全角ローマ数字“i”を変換するためにUpperdbcs関数が使われるとき、クライアントでもサーバーでも正しく“I”に変換されます。

しかし、Shift-JIS (コードページ 932)の“I”のコードポイントが各々のケースで異なります。


クライアントでは‘0x8754’、サーバーでは‘0xFA4A’です。


Environment

Release:

CA Gen Run Time: r7.6

Resolution

デフォルトでは、Gen Windowsクライアントランタイムは Microsoft CharUpper関数を使いますが、Gen サーバー ランタイムでは複数オペレーティングシステムをサポートするためにGenの内部関数を使います。

その内部関数が小文字から大文字への変換のためにcodepage.iniファイルを参照します。デフォルトではcodepage.iniファイルは小文字ローマ数字("0xFA40-0xFA49")の小文字コードポイントをIBMの拡張文字の大文字ローマ数字("0xFA4A-0xFA53")のポイントへ対応させます。

932のロケール/文字セットがIBM拡張文字のコードポイントをサポートしないWindows/Unixプラットフォームで、このマッピングは以下の様に変更することができます。

Codepage.iniファイルの"[ 932 ] Japanese"のセクションで、小文字大文字の定義を変更します。

変更前:

"0xFA40-0xFA49, 0xFA4A-0xFA53;"

変更後:

"0xFA40-0xFA49, 0x8754-0x875D;"

Additional Information

Old Japanese Knowledge document ID : JTEC001780

CA Genのその他のFAQについては、以下のリンクからご確認ください。

CA Gen FAQ一覧表