Skip to main content

Problem

  • Product Name : Borland VisiBroker for C
  • Product Version : 7.0
  • Platform/OS version : ALL
When multi-byte(Chinese) characters are sent from the VisiBroker Java client to VisiBroker C Server(both running in VB 7.0), the following exception is seen.
 
Exception in thread "main" org.omg.CORBA.DATA_CONVERSION: char of value 8216 is not an 8-bit entity vmcid: OMG minor code: 1 completed: No
at com.inprise.vbroker.orb.CDROutputStream.write_string(Unknown Source)
at Bank._AccountManagerStub.printAndReturn(_AccountManagerStub.java:41)
at Client.main(Client.java:24)

Resolution

Root Cause:
 
The transmission codeset used for char and string datatypes is by default CODE_NOT_CONFIGURED. Hence, the multi-byte(chinese) characters are not displayed correctly. The default for wchar and wstring is UTF_16.

Solution/Workaround:

If the transmission codeset for char and string datatypes are changed to UTF-8, multi-byte(chinese) characters will be transmitted correctly. A CR 10070 is raised and fixed in VisiBroker 8.0 SP3.

#Chinese
#CORBA.DATA_CONVERSION
#utf-8
#VisiBroker
#multi-bytecharacters
#Security