Hey Boris, Thanks for the reply. I have done some more digging and I think you are right, I actually get a failure returned from the iconv_open function, which suggests that I don't have the required transcoding service. My code is attempting to transcode from iso-8859-1 to UTF-16LE.
However, it is very confusing that if I run iconv from the command line on my target device using the same from and to arguments it works fine. For example: # iconv -f iso-8859-1 -t UTF-16LE ExampleXML.txt So I have been trying to find the difference between the command line app (iconv) and my code. No luck yet. If I don't get anywhere with this I think I might try ICU as you suggest. Paul -----Original Message----- From: Boris Kolpackov [mailto:[email protected]] Sent: Sat 9/19/2009 18:08 To: [email protected] Subject: Re: Could not load a transcoding service - Linux Hi Paul, Paul Leeming <[email protected]> writes: > tc = new IconvGNUTransService(fgMemoryManager); > > This fails in the constructor, in the overloaded new operator of XMemory Can you find out where exactly in IconvGNUTransService constructor it fails? My guess would be that GNU Iconv on your target does not support encodings that are needed by Xerces-C++. One way to address this is to build and use ICU. I have done that for LynxOS though cross-compiling ICU is not easy. Boris -- Boris Kolpackov, Code Synthesis Tools http://codesynthesis.com/~boris/blog Open-source XML data binding for C++: http://codesynthesis.com/products/xsd XML data binding for embedded systems: http://codesynthesis.com/products/xsde
