0

我正在开发一个在数据库中搜索您当前位置附近的广告商名称的 android 应用程序。为此,它访问公司服务器上的一些网络服务。基本上,应用程序将参数发送到 Web 服务,Web 服务返回查询结果。但是,某些广告客户名称包含特殊字符,例如“/”或空格。我尝试用%20替换空格并且工作正常,但是在发送“/”字符时我收到错误。我尝试用%2F替换它替换它,就像我对空间所做的那样,但仍然无法正常工作。关于我应该做什么的任何想法?

编辑

我按照建议使用

String query = URLEncoder.encode("some value", "utf-8");

但现在服务器返回 HTTP 404.11 错误。我想我接下来应该修复的是服务器代码?

4

3 回答 3

3

您不必手动进行 URL 编码,您可以使用 Android 库,试试这个:

String query = URLEncoder.encode("something of yours / words", "utf-8");
String url = "https://stackoverflow.com/search?q=" + query;

参考:

Android 中的 URL 编码

于 2013-07-06T15:23:24.533 回答
0

您需要将代码放在 try catch 块中:-

try {
String query = URLEncoder.encode("something of yours / words", "utf-8");
    String url = "http://stackoverflow.com/search?q=" + query;
    } catch (UnsupportedEncodingException e) {
   e.printStackTrace();
}
于 2014-06-17T13:03:53.397 回答
0

使用 URLEncoder.encode(urlstringwithspecialchar,"utf-8");

于 2013-07-06T15:23:30.353 回答