Still having this problem.
BinaryRead does not work since cannot convert what is received
to something that loadXML will swallow. I tried converting the
byte array that comes from binaryread using this:

ByteCount = UBound(inByteArray)

TempString = Space(ByteCount + 1)
For i = 0 To ByteCount
Mid(TempString, i + 1, 1) = Chr(inByteArray(i))

Somewhere along the way the Chr aborts on some bad value.

The real problem:
My client application prompts the user for their full name. Since
the user could be in France, for instance, the name could have non-US

The name is wrapped in XML and sent to an ASP on my server where I:
set xmldoc = createobject("msxml2.domdocument.3.0") 'uses msxml3.dll

But this gives the error:
An invalid character was found in the text context.

I tried specifying a processing instruction on the client to set
the encoding to "UTF-8" as the XML doc is built. Same error.
Then I tried "UTF-16" and get the error:
Switch from current encoding to specified encoding not supported.

So, how do I handle these foreign language characters???
Please email me:

Note: I also tried ISO-8859-1 and Windows-1252 encoding, no luck.