Java URLDecoder throws exception lorsqu'il est utilisé avec une chaîne de caractères contenant un %

J'ai un problème avec le URLDecoder de Java. Je suis l'échappement d'une Chaîne de caractères en JavaScript, et de l'envoyer à un servlet java. Ensuite, j'ai décoder les échappé à la Chaîne avec la ligne suivante:

URLDecoder.decode(request.getParameter("text"), "UTF-8");

Cela fonctionne très bien pour tous les caractères spéciaux, j'ai essayé, le seul problèmes est le '%'. Chaque fois que j'utilise ce caractère dans la chaîne, j'obtiens l'exception suivante:

java.lang.IllegalArgumentException: URLDecoder: Incomplete trailing escape (%) pattern
    java.net.URLDecoder.decode(URLDecoder.java:187)
    at.fhv.students.rotter.ajax.count.CountServlet.doGet(CountServlet.java:31)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

Est-ce un bug connu? Ou est-ce vraiment de ma faute?

"Je suis l'échappement d'une Chaîne de caractères en JavaScript." Comment? Vous devez être fais mal.

OriginalL'auteur Daniel Rotter | 2012-05-14