I'm having a problem using the XMLString::transcode function.  I'm writing
an ActiveX control which runs under Win95, Win98, WinNT, and Win2K that
receives XML from a UNIX system.  Further, the control has to work on US,
Japanese, and Korean versions of the OS.  The XML can contain plain old
ASCII text, ShiftJIS, or EUC (Korean).  The XML also sometimes contains some
other oddball characters, such as an apostrophe with a value of 146
(decimal).  Everything seems to work fine on Win95 and Win98.  However, on
NT systems (and I'm pretty sure on Win2K too - still testing), anything that
contains higher than ASCII 127 seems to result in transcode returning me a
NULL string (this happens with extended ASCII character, ShiftJIS, and EUC).
A simplified example of our XML follows:

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<ALERT>
    <HEADLINE><![CDATA[Who's Drilling? -- Mauritania drilling continues
(Weekly, 2001-05-03, 2 pgs)]]></HEADLINE>
</ALERT>

In this example, the apostrophe near the start of the string, in "Who's", is
character 146.

For our purposes, a simple transcode that simply converts the 2 byte
characters to single byte characters should suffice - do I need to write my
own transcoder, or are we doing something wrong in our XML definition or am
I using the Xerces tools incorrectly?

Any assistance would be appreciated.  I'm using the SAX parser with a custom
handler derived from handlerbase.  If further information is needed (such as
source code examples), I'd be more than happy to provide it.

Thanks,
Geoffrey Reynolds


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to