code: public static String unescape(String source, String encoding) {
  
          if (source == null) {
              return null;
          }
          int len = source.length();
          // to use standard decoder we need to replace '+' with "%20" (space)
          StringBuffer preparedSource = new StringBuffer(len);
          for (int i = 0; i < len; i++) {
              char c = source.charAt(i);
              if (c == '+') {
                  preparedSource.append("%20");
              } else {
                  preparedSource.append(c);
              }
          }
          return decode(preparedSource.toString(), encoding);
      }
docs: Decodes a String in a way similar to the JavaScript "decodeURIcomponent" function.<p>
  
  This method can decode Strings that have been encoded in JavaScript with "encodeURIcomponent",
  provided "UTF-8" is used as encoding.<p>
  
  <b>Directly exposed for JSP EL<b>, not through {@link org.opencms.jsp.util.CmsJspElFunctions}.<p>
  
  @param source The String to be decoded
  @param encoding the encoding type
  
  @return The decoded String