URISyntaxException - Comment traiter les url avec des %

Je suis assez nouveau à Java et suis tombé sur ce problème. J'ai essayé de chercher mais n'a jamais obtenu une réponse correcte.

J'ai une chaîne de caractères par exemple

String name = anything 10%-20% 04-03-07

Maintenant, j'ai besoin de construire une chaîne d'url avec ce nom de Chaîne comme ci-dessous.

http://something.com/test/anything 10%-20% 04-03-07

J'ai essayé de remplacer les espaces par %20 et maintenant, je suis la nouvelle url

http://something.com/test/anything%2010%-20%%2004-03-07

Lorsque j'utilise cette url et le feu dans firefox ça marche bien, mais lors du traitement en Java, il est apparemment jeter

Exception in thread "main" java.lang.IllegalArgumentException
at java.net.URI.create(Unknown Source)
at org.apache.http.client.methods.HttpGet.<init>(HttpGet.java:69)
Caused by: java.net.URISyntaxException: Malformed escape pair at index 39 : 
at java.net.URI$Parser.fail(Unknown Source)
at java.net.URI$Parser.scanEscape(Unknown Source)
at java.net.URI$Parser.scan(Unknown Source)
at java.net.URI$Parser.checkChars(Unknown Source)
at java.net.URI$Parser.parseHierarchical(Unknown Source)
at java.net.URI$Parser.parse(Unknown Source)
at java.net.URI.<init>(Unknown Source)
... 6 more

C'est le code de jeter erreur

HttpClient httpclient = new DefaultHttpClient();
HttpGet httpget = new HttpGet(url);
HttpResponse response = httpclient.execute(httpget);

OriginalL'auteur Vish | 2012-09-14