Author: michiel
Date: 2010-07-12 14:37:05 +0200 (Mon, 12 Jul 2010)
New Revision: 42864

Modified:
   
mmbase/trunk/bridge/src/main/java/org/mmbase/datatypes/handlers/html/MultiPart.java
Log:
only supposed ISO-8859-1 if the request did actuall not specify an encoding. 
Which is most of the time the case, but not always

Modified: 
mmbase/trunk/bridge/src/main/java/org/mmbase/datatypes/handlers/html/MultiPart.java
===================================================================
--- 
mmbase/trunk/bridge/src/main/java/org/mmbase/datatypes/handlers/html/MultiPart.java
 2010-07-12 12:36:31 UTC (rev 42863)
+++ 
mmbase/trunk/bridge/src/main/java/org/mmbase/datatypes/handlers/html/MultiPart.java
 2010-07-12 12:37:05 UTC (rev 42864)
@@ -87,15 +87,22 @@
                 UploadListener listener = new UploadListener(req, 
log.isDebugEnabled() ? 1 : 0);
                 FileItemFactory factory = new 
MonitoredDiskFileItemFactory(listener);
                 ServletFileUpload fu = new ServletFileUpload(factory);
-                fu.setHeaderEncoding("ISO-8859-1"); // if incorrect, it will 
be fixed later.
+                if (req.getCharacterEncoding() == null) {
+                    // Never fall back on system default
+                    fu.setHeaderEncoding("ISO-8859-1"); // if incorrect, it 
will be fixed later.
+                }
                 List fileItems = fu.parseRequest(req);
                 for (Iterator i = fileItems.iterator(); i.hasNext(); ) {
                     FileItem fi = (FileItem)i.next();
                     log.debug("Found " + fi);
                     if (fi.isFormField()) {
                         String value;
+                        String enc = req.getCharacterEncoding();
+                        if (enc == null) {
+                            enc = "ISO-8859-1";
+                        }
                         try {
-                            value = fi.getString("ISO-8859-1");
+                            value = fi.getString(enc);
                         } catch(java.io.UnsupportedEncodingException uee) {
                             log.error("could not happen, ISO-8859-1 is 
supported");
                             value = fi.getString();

_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to