On Thu, 2006-10-19 at 14:29 +0200, Tumidajewicz, Przemyslaw wrote:
> Hello everyone,
>
> First post here, hope I'm doing it right ;)
>
> I've been having problems with sending multipart posts containing files
> named using UTF-8 characters - all non-ASCII characters are turned into
> question marks. I've tried to specify the charset when creating the
> FilePart like this
>
> FilePart fp = new FilePart(name, file, null, "UTF-8");
>
> as well as setting the charset later on like this
>
> fp.setCharSet("UTF-8");
>
> with no result. So I took a deeper look at the HttpClient code (thank
> god for open source!) and found that the loss of special characters
> happens in the FilePart.sendDispositionHeader method, at line
>
> out.write(EncodingUtil.getAsciiBytes(filename));
>
> where the filename is forced to fit into the US-ASCII charset.
>
Przemyslaw,
This behavior is in line with the requirements of the MIME specification
as outlined in RFC 1521 and RFC 1522. The use of non-ASCII characters in
MIME headers is not permitted. One is supposed to escape non-ASCII
characters using BASE64 or Quoted-Printable encoding.
See this feature request for details
https://issues.apache.org/jira/browse/HTTPCLIENT-293
Oleg
> My workaround for this problem is to substitute the above line with a
> charset-aware version:
>
> out.write(EncodingUtil.getBytes(filename, getCharSet()));
>
> but I'm not sure if it's the correct way to do it.
>
> What I'm quite sure of at this point is that it works for UTF-8 and
> results are consistent with what I get out of IE6 when posting the same
> file using a form like this:
>
> <form action="http://localhost:1235" method="POST"
> enctype="multipart/form-data" accept-charset="UTF-8">
> <input type="file" name="file"></input>
> <input type="submit"></input>
> </form>
>
> It's also parsed correctly by FileUpload 1.1.
>
> I've had a look at the HTTPClient 3.1-alpha1 source and the problematic
> line in FilePart looks the same - which means that either my fix is a
> heresy and/or there is a better way of doing this - or that this bug has
> not been reported before (I failed to find anything on this in the archive).
>
> Please let me know if this is the right way of fixing this problem and
> if so, will this fix make it into HTTPClient 3.1
>
> Thanks and best regards!
> --Przemek
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]