On Wed, 2013-06-05 at 19:54 +0000, Brad Medinger wrote:
> I am using HttpClient 4.2.2 to upload a file with non ascii characters in the 
> name using a multipart request.  The issue I'm running into is the character 
> encoding used for the filename in the header is always US-ASCII instead of 
> using the charset on the HttpMultipart MIME entity.  When constructing a new 
> MultipartEntity I pass in a mode of STRICT which, after looking at the 
> source, I found will always use MIME.DEFAULT_CHARSET (US-ASCII).  If I use 
> the BROWSER_COMPATIBLE mode then the specified charset is used, but this mode 
> will only write Content-Disposition and Content-Type headers.  Is there a 
> reason that a multipart request with a mode of STRICT will always use 
> US-ASCII for header values?
> 
> Thanks,
> Brad
> 

This is due to the requirement of the MIME specification. Non-ASCII
characters are not allowed in MIME headers and must be escaped using
Base64 or Quote-Printable encoding as described in RFC 2047 [1]. For
more complex manipulations with MIME formatted content you might want to
use mime4j [2] instead of HttpMime 

Oleg

[1] http://tools.ietf.org/html/rfc2047  
[2] http://james.apache.org/mime4j/index.html


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to