Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.0 Final
-
None
-
None
-
Operating System: Windows XP
Platform: PC
-
34483
Description
The fileupload package operates on a ServletRequest to conveniently extract it's
content. The ServletRequest.getCharacterEncoding() method "Returns the name of
the character encoding used in the body of this request", and thus should be
used as a default by the fileupload processing as well.
Further, whether from the servlet request or an explicit set on the FileUpload
instance, the encoding should propagate to the FileItem (again by default,
unless it's overridden by a part content type header or explicit set).
Currently, in order to have a UTF-8 request properly parsed, one must first call
request.setCharacterEncoding("UTF-8")
then call
diskFileUpload.setHeaderEncoding("UTF-8")
and finally use
fileItem.getString("UTF-8")
There's no reason for this duplicity - if the first is set, the rest should
propagate by default, unless explicitly overridden. This is a source for bugs
and unneeded extra work (it took quite a while to figure these out, after
examining the source code - this work can be saved for other developers, after
all, that's what this package is for!).
Attachments
Issue Links
- is cloned by
-
FILEUPLOAD-208 CLONE - [fileupload] Use the ServletRequest encoding as default
- Closed