Re: ORBit2 native codeset specification





Frank Rehberger wrote:

Wolfgang Bachmann wrote:

Hi,

I've got a CORBA client written in Java that connects to a server
written in C. I'm using ORBit2 V2.8.2 on the C side. The Java client
naturally uses UCS-2, the C server uses ISO8859-1. I'm using "string" in
IDL for text transfers.

When running the server on Sun Solaris, everything is fine. If I run the
server on Linux, all umlaut characters get mangled. It looks like all non-ASCII characters are converted to UTF-8 on Linux. :-((


Does anyone out there know how I can tell the ORB that my native codeset is ISO-8859-1, not UTF-8 ?


AFAIK, ORBit2 does not do any string conversion, ORBit2 allways assumes UTF-8- encoding, being encoded in stringified IOR:0100.... for client; client is choosing specific encoding.

That was a good tip. I had a look at the IOR's from both machines:

Sun: IOR:000000000000003149444c3a636f6d2f65636f66696e616e63652f6974732f626c2f636f7262612f506172656e745365727665723a312e3000000000000000044f425400000000540001020000000005554e4958000000000000000575783130000000000000002d2f7661722f746d702f6f726269742d61676a2f6c696e632d373066632d302d3431303039323033653935323500000000000000000000000000000034000102000000000575783130000094fc0000001c00000000e88348b8bfae0aba276fb0ed7805963b000000018868a82900000000badfaeca00000058000102000000002d2f7661722f746d702f6f726269742d61676a2f6c696e632d373066632d302d34313030393230336539353235000000000000001c00000000e88348b8bfae0aba276fb0ed7805963b000000018868a82900000001000000480000000000000002000000050000001c00000000e88348b8bfae0aba276fb0ed7805963b000000018868a82900000001000000140000000005010001000000000001010900000000
Linux: IOR:010000003100000049444c3a636f6d2f65636f66696e616e63652f6974732f626c2f636f7262612f506172656e745365727665723a312e3000000000040000000054424f4c0000000101020005000000554e495800000000050000007578313100000000280000002f746d702f6f726269742d6974732f6c696e632d323634382d302d63396639623962633538633900000000000000000034000000010102000500000075783131000065d71c00000000000000eba117f4d41d39827b79d0ff99eee4be010000007e86749000000000caaedfba5400000001010200280000002f746d702f6f726269742d6974732f6c696e632d323634382d302d63396639623962633538633900000000001c00000000000000eba117f4d41d39827b79d0ff99eee4be010000007e86749001000000480000000100000002000000050000001c00000000000000eba117f4d41d39827b79d0ff99eee4be010000007e86749001000000140000000100000001000105000000000901010000000000


Do I understand this right, the ORBit2 on Linux says UTF-8 while the ORBit2 on the Sun says ISO-8859-1 ? And as a consequence, the Java client converts differently ?

Talking about Solaris and Linux setup, are you using different representations for object references, IOR vs. Corbaloc?
Corbaloc representation does not provide any information related to string-encoding.

No. The funny thing is, the IDL, application source code and ORBit2-versions are identical on both platforms. Do you have any idea where this different behaviour comes from ? Or simply how I can enforce the Sun behaviour on Linux ?


Many thanx in advance, Wolfgang

--

Wolfgang Bachmann

ecofinance Finanzsoftware & Consulting GmbH
Graz / Vienna / Essen / London
Grieskai 10, 8020 Graz, Austria
Phone: (++43) 316 908030 Fax: (++43) 316 908030-24
http://www.ecofinance.com






[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]