I'm sure that's the right thing to do on most platforms. Unfortunately in Windows Xerces does not look at the locale but always uses ASCII. See Win32LCPTranscoder::transcode() in Win32TransService.cpp.
Tony Dodd Oxford University RTS >-----Original Message----- >From: Nadir Amra [mailto:[EMAIL PROTECTED] >Sent: 17 February 2005 19:52 >To: Apache AXIS C User List >Subject: Re: Windows, Xerces, UTF-8 > >Would this be not solved by running the process in UTF-8 locale? >Currently, on ASCII platforms, that is the restriction if you >are sending non-ascii characters. > >"Tony Dodd" <[EMAIL PROTECTED]> wrote on 02/17/2005 01:46:51 PM: > >> I cannot deserialize non-ASCII characters in strings. The problem >appears to >> be that the Xerces parser wrapper XercesHandler.cpp calls >> XMLString::transcode() which, under Windows, calls >WideCharToMultiByte >with >> argument CP_ACP, thus converting Unicode to ASCII rather then UTF-8. >> >> Before trying to rebuild the library with a UTF-8 transcoder - a >non-trivial >> exercise since the source of Xerces I have is for the latest >version - >I'd >> be grateful to hear if there is some simpler workaround (or if I'm >barking >> up the wrong tree altogether). >> >> Thanks >> >> Tony Dodd >> Oxford University RTS >> >
