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
>> 
>

Reply via email to