title: Why % is not allowed
body: <p>If i input passsword as <code>Admin$&amp;%^</code> or <code>Admin$&amp;^%</code> then my ajax call works but if i input it like this
  <code>Admin$!%</code> or <code>Admin$!%^</code>. the ajax call throws following exception.....</p>
  
  <p>Please help as i m not able to get the root cause for this issue </p>
  
  <pre><code>INFO: Character decoding failed. Parameter [txt_password] with value [Admin$!%] has been ignored. No
  te that the name and value quoted here may be corrupted due to the failed decoding. Use debug level
  logging to see the original, non-corrupted values.
  java.io.CharConversionException: EOF
          at org.apache.tomcat.util.buf.UDecoder.convert(UDecoder.java:80)
          at org.apache.tomcat.util.buf.UDecoder.convert(UDecoder.java:46)
          at org.apache.tomcat.util.http.Parameters.urlDecode(Parameters.java:410)
          at org.apache.tomcat.util.http.Parameters.processParameters(Parameters.java:370)
          at org.apache.tomcat.util.http.Parameters.processParameters(Parameters.java:217)
          at org.apache.catalina.connector.Request.parseParameters(Request.java:2647)
          at org.apache.catalina.connector.Request.getParameter(Request.java:1106)
          at org.apache.catalina.connector.RequestFacade.getParameter(RequestFacade.java:355)
          at javax.servlet.ServletRequestWrapper.getParameter(ServletRequestWrapper.java:158)
  </code></pre>
  
  <p>While exploring i find that :</p>
  
  <pre><code>Special characters are not allowed inside the query string. They must be replaced by a "%" followed by the ASCII code in Hex. E.g., "~" is replaced by "%7E", "#" by "%23" and so on. Since blank is rather common, it can be replaced by either "%20" or "+" (the "+" character must be replaced by "%2B"). This replacement process is called URL-encoding, and the result is a URL-encoded query string. 
  </code></pre>
  
  <p>So does that mean we cant use % as a value in input fields ?</p>