Как отправить строку, содержащую символ% в webservice, используя HttpPost в android?

Мне нужно отправить строку, содержащую% (EX: abc% xyz), в webservice, используя HttpPost.

Я использовал следующую логику, но я получаю исключение IllegalCharacter на месте (%).

**updatepeople.php?pilotid=1651&firstname=Nexus&lastname=Google&nickname=abc%xyz** final int TIMEOUT_MILLISEC = 20000; HttpParams httpParams = new BasicHttpParams(); HttpConnectionParams.setConnectionTimeout(httpParams, TIMEOUT_MILLISEC); HttpConnectionParams.setSoTimeout(httpParams, TIMEOUT_MILLISEC); HttpConnectionParams.setTcpNoDelay(httpParams, true); HttpClient httpClient = new DefaultHttpClient(httpParams); URLEncoder.encode(url, "UTF-8"); HttpPost httpPost = new HttpPost(url); ResponseHandler<String> resHandler = new BasicResponseHandler(); page = httpClient.execute(httpPost, resHandler); return page; 

Попробуйте использовать этот код при передаче значения в строке запроса, вместо этого передайте это как сущность.

Теперь ваш URL-адрес содержит ссылку на страницу без каких-либо параметров с этим, и он будет заканчиваться updatepeople.php

 HttpPost httpPost = new HttpPost(url); List<NameValuePair> param = new ArrayList<NameValuePair>(); param.add(new BasicNameValuePair("pilotid", "1651")); param.add(new BasicNameValuePair("firstname", "Nexus")); param.add(new BasicNameValuePair("lastname", "Google")); param.add(new BasicNameValuePair("nickname", "abc%xyz")); httpPost.setEntity(new Unew UrlEncodedFormEntity(param)); 

Теперь выполните его и продолжайте, как можете.