Oleg,

Thanks for the info. I ended up suspecting as much. I confirmed it by locally 
changing java.net.SocketOutputStream to confirm the bytes written to the socket 
were exactly as reported by your logging (which they were).

It seems that I was being misled by the output from my HTTP sniffer 
(org.apache.axis.utils.tcpmon) and a failure on the part of the receiving 
program.

Cheers, Mike




________________________________
From: Oleg Kalnichevski <[EMAIL PROTECTED]>
To: HttpClient User Discussion <httpclient-users@hc.apache.org>
Sent: Saturday, 25 October, 2008 13:23:16
Subject: Re: UTF8 problem?

On Thu, 2008-10-23 at 09:36 +0000, Mike Kyle wrote:
> I set an EntityEnclosingMethod request entity to be a ByteArrayRequestEntity. 
> This entity has the Java characters "\u4E2D\u6587" as the corresponding UTF8 
> bytes (UTF8 = 0xE4,0xB8,0xAD,0xE6,0x96,0x87). This is confirmed by logging 
> httpclient.wire.content. There I see the UTF8 values.

Mike,

What is logged in the wire log is exactly what gets written to the
underlying socket. I do not think HttpClient is culprit.

Oleg



> 
> However what appears to really get transmitted is the corresponding Java 
> characters rather than the UTF8 values! As this is supposedly a UTF8 encoded 
> XML document the receiver is not best pleased. This is confirmed by 
> performing HTTP sniffing using org.apache.axis.utils.tcpmon.My suspicion is 
> that somehow a character handler is intervening? 
> 
> Debugging HttpConnection implied that the output stream is a 
> BufferedOutputStream wrapping a java.net.SocketOutputStream. I had assumed 
> that the socket streams would be byte oriented. The content type is set to 
> 'text/xml; chartset="utf-8"'.
> 
> I am normally using HttpClient 3.0 + but the latest 3.1 appeared to react 
> exactly the same.
> 
> 
> 
>      


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


      

Reply via email to