我試圖找到解決這個現在整個晚上......「非法字符」,在Android中的URL HTTPGET得到雙重編碼
我寫這從一個Web服務器請求數據的應用程序。服務器以JSON格式回答。 一切運作良好,當我進入像一個元音到我的應用程序時除外。
在下面我假定請求URL是http://example.com/?q=和我尋找「耶格爾」
然後正確的呼叫中爲h ++號碼:?//example.com/ Q =Ĵ%C3% A4ger (對不起,加跡象,但垃圾郵件防護犯規讓我正確地張貼。)
所以我現在的問題是:
當我給我的網址字符串編碼或未編碼到HTTPGET它總是導致在雙倍編碼的URL中。
然後對我的服務器的請求是http://example.com/?q=J%25C3%25A4ger(它編碼百分號) 這導致服務器在數據庫中搜索J%C3%A4ger什麼是明顯的錯誤。
所以我的問題是我怎麼能achive,如果用戶輸入「耶格爾」我的應用程序調用正確編碼的網址是什麼?
感謝您的幫助!
這是目前使用的代碼... IST或許是最差的想法,我有...
URI url = new URI("http", "//example.com/?q=" + ((EditText)findViewById(R.id.input)).getText().toString(), null);
Log.v("MyLogTag", "API Request: " + url);
HttpGet httpGetRequest = new HttpGet(url);
// Execute the request in the client
HttpResponse httpResponse;
httpResponse = defaultClient.execute(httpGetRequest);
請張貼一些代碼。 – 2012-04-18 23:01:14
@菲利普 - Reichard你在這裏 – 2012-04-18 23:07:16