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

Document created by Miharu_Toyama Employee on Jul 15, 2015
Version 1Show Document
  • View in full screen mode

文書番号: JTEC001780

製品名: CA Gen

バージョン:CA Gen Run Time: r7.6

OS: 


◆ 詳細内容

Gen関数UpperdbcsがGen クライアント/サーバーアプリケーションで異なる文字コードをポイントする結果となることがあります。例えば、Gen WindowsクライアントまたはGenサーバーで、小文字の全角ローマ数字“i”を変換するためにUpperdbcs関数が使われるとき、クライアントでもサーバーでも正しく“I”に変換されます。しかし、Shift-JIS (コードページ 932)の“I”のコードポイントが各々のケースで異なります。クライアントでは‘0x8754’、サーバーでは‘0xFA4A’です。

◆ 解決策

デフォルトでは、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;"


ご質問等がございましたら、恐れ入りますが弊社サポートまでご連絡ください。

この情報は米国 CA, Inc. より提供されている Technical Documentsをもとに作成したものです。原文の詳細につきましては下記内容をご覧ください。

https://support.ca.com/irj/portal/kbtech?docid=534846&searchID=TEC534846

Document ID:TEC534846
Title:The Gen function Upperdbcs can produce a different character code point result for Gen client & server applications.

以上

Attachments

    Outcomes