Author: markt
Date: Tue Jun 23 18:04:43 2009
New Revision: 787770

URL: http://svn.apache.org/viewvc?rev=787770&view=rev
Log:
Use correct encoding for error/debug messages include parameter bytes

Modified:
    tomcat/trunk/java/org/apache/tomcat/util/http/Parameters.java

Modified: tomcat/trunk/java/org/apache/tomcat/util/http/Parameters.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/Parameters.java?rev=787770&r1=787769&r2=787770&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/http/Parameters.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/http/Parameters.java Tue Jun 23 
18:04:43 2009
@@ -18,6 +18,7 @@
 package org.apache.tomcat.util.http;
 
 import java.io.IOException;
+import java.io.UnsupportedEncodingException;
 import java.util.Enumeration;
 import java.util.Hashtable;
 
@@ -189,9 +190,10 @@
     // if needed
     ByteChunk tmpName=new ByteChunk();
     ByteChunk tmpValue=new ByteChunk();
-    ByteChunk origName=new ByteChunk();
-    ByteChunk origValue=new ByteChunk();
+    private ByteChunk origName=new ByteChunk();
+    private ByteChunk origValue=new ByteChunk();
     CharChunk tmpNameC=new CharChunk(1024);
+    private static final String DEFAULT_ENCODING = "ISO-8859-1";
     
     public void processParameters( byte bytes[], int start, int len ) {
         processParameters(bytes, start, len, encoding);
@@ -202,8 +204,14 @@
         int end=start+len;
         int pos=start;
         
-        if(log.isDebugEnabled()) { 
-            log.debug("Bytes: " + new String( bytes, start, len ));
+        if(log.isDebugEnabled()) {
+            try {
+                log.debug("Bytes: " +
+                        new String(bytes, start, len, DEFAULT_ENCODING));
+            } catch (UnsupportedEncodingException e) {
+                // Should never happen...
+                log.error("Unable to convert bytes", e);
+            }
         }
 
         do {
@@ -222,8 +230,14 @@
                 valStart=nameEnd;
                 valEnd=nameEnd;
                 if(log.isDebugEnabled()) {
-                    log.debug("no equal " + nameStart + " " + nameEnd + " " +
-                            new String(bytes, nameStart, nameEnd-nameStart) );
+                    try {
+                        log.debug("no equal " + nameStart + " " + nameEnd + " 
" +
+                                new String(bytes, nameStart, nameEnd-nameStart,
+                                        DEFAULT_ENCODING) );
+                    } catch (UnsupportedEncodingException e) {
+                        // Should never happen...
+                        log.error("Unable to convert bytes", e);
+                    }
                 }
             }
             if( nameEnd== -1 ) 
@@ -242,7 +256,13 @@
                 // No name eg ...&=xx&... will trigger this
                 if (valEnd >= nameStart) {
                     msg.append('\'');
-                    msg.append(new String(bytes, nameStart, valEnd - 
nameStart));
+                    try {
+                        msg.append(new String(bytes, nameStart,
+                                valEnd - nameStart, DEFAULT_ENCODING));
+                    } catch (UnsupportedEncodingException e) {
+                        // Should never happen...
+                        log.error("Unable to convert bytes", e);
+                    }
                     msg.append("' ");
                 }
                 msg.append("ignored.");



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to