我正在开发一个Android应用程序,可以在数据库中搜索您当前位置附近的广告客户名称。为此,它访问公司服务器上的一些Web服务。基本上,应用程序将参数发送到Web服务,Web服务返回查询结果。但是,某些广告客户名称包含特殊字符,例如“/”或空格。我尝试用%20 替换空格并且工作正常,但在发送“/”字符时,我收到错误。我尝试用%2F 替换它,就像我对空间所做的那样但仍然无法正常工作。我应该怎么做的想法?
我按建议使用了
字符串查询= URLEncoder.encode(“some value”,“utf-8”);
但是现在服务器返回HTTP 404.11错误。我想我接下来要解决的是服务器代码?
答案 0 :(得分:2)
您不必手动执行URL编码,您可以使用Android库,试试这个:
String query = URLEncoder.encode("something of yours / words", "utf-8");
String url = "https://stackoverflow.com/search?q=" + query;
参考:
答案 1 :(得分:0)
使用URLEncoder.encode(urlstringwithspecialchar,“utf-8”);
答案 2 :(得分: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();
}