The charset isn't always US-ASCII !

This problem only happens with enctype="multipar/form-data" 
(File uploads) and text form fields !

This patch is against NTURBINE_2_4_M1 !

-- 
Leandro Rodrigo Saad Cruz
InterBusiness Tecnologia e Servi�os
IB    - www.ibnetwork.com.br
DB    - www.digitalbrand.com.br
OJB   - db.apache.org/ojb
XINGU - xingu.sf.net
Index: src/java/org/apache/turbine/util/parser/DefaultParameterParser.java
===================================================================
RCS file: /home/cvspublic/jakarta-turbine-2/src/java/org/apache/turbine/util/parser/DefaultParameterParser.java,v
retrieving revision 1.21
diff -u -b -B -r1.21 DefaultParameterParser.java
--- src/java/org/apache/turbine/util/parser/DefaultParameterParser.java	16 Feb 2004 07:06:27 -0000	1.21
+++ src/java/org/apache/turbine/util/parser/DefaultParameterParser.java	2 Dec 2004 20:49:14 -0000
@@ -69,6 +69,8 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
+import org.apache.turbine.Turbine;
+import org.apache.turbine.TurbineConstants;
 import org.apache.turbine.services.upload.TurbineUpload;
 import org.apache.turbine.services.upload.UploadService;
 
@@ -106,6 +108,8 @@
     extends BaseValueParser
     implements ParameterParser, Recyclable
 {
+    private String defaultCharSet;
+
     /** Logging */
     private static Log log = LogFactory.getLog(DefaultParameterParser.class);
 
@@ -189,6 +193,19 @@
         return this.request;
     }
 
+	private String getDefaultCharset()
+	{
+		if (defaultCharSet == null)
+		{
+			/* Get the default charset and cache it in a static variable. */
+			defaultCharSet = Turbine.getConfiguration()
+				.getString(TurbineConstants.LOCALE_DEFAULT_CHARSET_KEY,
+					TurbineConstants.LOCALE_DEFAULT_CHARSET_DEFAULT);
+			log.debug("defaultCharSet = " + defaultCharSet + " (From Properties)");
+		}
+		return defaultCharSet;
+	}
+
     /**
      * Sets the servlet request to be parser.  This requires a
      * valid HttpServletRequest object.  It will attempt to parse out
@@ -209,7 +226,8 @@
         uploadData = null;
 
         String enc = request.getCharacterEncoding();
-        setCharacterEncoding(enc != null ? enc : "US-ASCII");
+		String charset = getDefaultCharset();
+        setCharacterEncoding(enc != null ? enc : charset);
 
         // String object re-use at its best.
         String tmp = null;

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

Reply via email to