CORBA::ORB_init を使用して、orb のネイティブ コードセットを設定できます。ただし、アプリケーション内で異なる構成で Orb が取得された場合、Orb は 1 回だけ初期化されます。
"-ORBconfigFile config1.cfg"
CORBA::ORB_var orb1 = CORBA::ORB_init(orbInitParams.argc(), orbInitParams.argv());
"-ORBconfigFile config2.cfg"
CORBA::ORB_var orb2 = CORBA::ORB_init(orbInitParams.argc(), orbInitParams.argv());
しかし、問題は、最初のものが勝つということです。したがって、2 番目の ORB_init の呼び出し元が最初の呼び出し元を知らない大きなアプリケーションでは、1 のように構成された Orb を取得します。
- nativeCharCodeSet = ISO-8859-1 中 2 使用
- nativeCharCodeSet = UTF-8
設定が正常にアタッチされているかどうかを確認するために ORB 設定を読み取る方法はありますか?
これが表示される理由: dll で Omniorb を使用しています (ここで初期化します)。これで、アプリケーションには、最初に来る omniorb を使用する 2 番目のコンポーネントがあります。そのため、UTF-8 構成を失いました。