[omniORB] wstring interoperability

Duncan Grisby duncan@grisby.org
Wed Aug 28 00:02:01 2002


On Monday 26 August, "zhb" wrote:

>     I have a problem of wstring ,I cann't get correctly form of
> wstring interoperability between java and omniORB4 test at : redhat
> Linux 7.3 ,gcc 2.96 , jdk1.4.0 ,JacORB 1.4 ,omniORB4 beta2

[...]
> I think occuing this error because of UCS-4(omniORB4) ---->
> UTF-16(java) and UTF-16 (java) ---> UCS-4 (omniORB) are incorrectly!

Unless you have told it otherwise, omniORB is using UTF-16, not UCS-4,
even if your platform has 32-bit wchar_t. I assume you aren't using
characters outside the 16-bit plane?  If you are, and you haven't
chosen UCS-4 by setting the nativeWCharCodeSet parameter, that would
explain the problem. If you have explicitly chosen UCS-4, characters
outside the BMP (Basic Multi-lingual Plane) should be properly
transformed into UTF-16 surrogate pairs. I don't think Java deals with
surrogates, though. Anyway, I don't think that's relevant to you.

Please can you give an example of the code points you send and the
code points you receive. Please also post a trace from omniORB with
arguments -ORBtraceLevel 40.

Cheers,

Duncan.

-- 
 -- Duncan Grisby         --
  -- duncan@grisby.org     --
   -- http://www.grisby.org --