我正在尝试连接到我的查询字符串保存一些数据的网络服务。不好的是,该数据包含 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());
现在我不会得到非法字符,但它似乎完全弄乱了 utfurl,因为我得到了“目标主机不能为空,或在参数中设置”。可能是因为他无法识别混乱字符串中的“http://”部分。有什么建议吗?
问候