1
내 쿼리가 일부 데이터를 보유하고있는 웹 서비스에 연결하려고합니다. 나쁜 점은이 데이터에 utf-8 charcters가 포함되어있어 문제가 발생한다는 것입니다.android httpclient 및 utf-8
단순히 일반 문자열로 HttpGet을 호출하면 "잘못된 문자"예외가 발생합니다. 그래서 나는 인터넷 검색을하고 utf-8 마법을 시도했다.
HttpClient httpclient = new DefaultHttpClient();
httpclient.getParams().setParameter("http.protocol.content-charset", "UTF-8");
String utfurl = URLEncoder.encode(url, "utf-8");
HttpGet httpGet = new HttpGet(utfurl);
HttpResponse response = httpclient.execute(httpGet);
content = response.getEntity().getContent();
} catch (Exception e) {
Log.d(TAG, "getInputStream: " +e.getMessage());
는 지금은 불법의 charcter을받지 않습니다,하지만 대신에 "대상 호스트가 null 또는 매개 변수를 설정해서는 안"얻을 이후 완전히 utfurl UPP 엉망 보인다. 아마도 그가 엉망인 문자열에서 "http : //"부분을 인식하지 못했기 때문일 것입니다. 조언이 있으십니까?
감사합니다.
UTF-8 인코딩 된 문자 (이상하게 들릴지도 모릅니다) 또는 웹 서버에서 반환 한 내용을 포함해야합니까 * URL *입니까? –
나는 jon에 동의하며 현재 접근법은':'와'/'문자를 인코딩 할 것이고 당신의 URL을 깨뜨리고있다. –
URL은 urf-8 charcters를 포함 할 필요가 있습니다. 웹 서비스를 호출하고 쿼리 문자열에 데이터를 저장합니다. 나에게 묻는다면 좋지는 않지만 그것이 완료된 방법입니다. 그리고 예, 나는 알아 차 렸습니다 :/징후가 손상되었습니다. – elwis