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]