Java 如何使用URLEncoder.encode android

Java 如何使用URLEncoder.encode android,java,android,urlencode,Java,Android,Urlencode,如何正确使用URLEncoder.encode 当我对字符串进行编码以将参数传递到url时,url中的=和?正在转换并破坏我的php脚本 这是我正在编码的字符串 String spinnerURL = "getName.php?name=flowers"; 下面是我对字符串进行编码并执行http请求的脚本: query = URLEncoder.encode(spinnerURL, "utf-8"); Log.d(TAG, query.toString());

如何正确使用URLEncoder.encode

当我对字符串进行编码以将参数传递到url时,url中的
=
正在转换并破坏我的php脚本

这是我正在编码的字符串

String spinnerURL = "getName.php?name=flowers";
下面是我对字符串进行编码并执行http请求的脚本:

query = URLEncoder.encode(spinnerURL, "utf-8");
                Log.d(TAG, query.toString());
            } catch (UnsupportedEncodingException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }
                try {

                    DefaultHttpClient httpClient = new DefaultHttpClient();

                    HttpGet httpPost = new HttpGet("http://www.website.com/tattoo/" + query);
                                  }
当我检查logCat的标记时,我看到url如下所示

getName.php%3Fname%3Dflowers

我省略了catch和其他几行代码,它们不会影响url ecode和http调用。

这是出于设计。您应该分别对
getName.php
name
flowers
进行编码。

这很有意义。那么,我会将url拆分,然后进行enode并将其重新拼接在一起吗?最好将其命名为URLEncoder.encodeParam()或者甚至是UrlParamenCode.encode()@InferenceOne:不。当您有一组用户输入的字符串,而您不希望对其进行任何特殊解释时,您会对这些内容进行url编码。例如,如果用户输入的字符串可能包含
&
,而您没有对此进行筛选,那么URL编码该字符串将允许正确发送
&
,而不是启动下一个参数。因此,如果你说的是“拆分URL”,那听起来与URL编码的常用用例非常不同。那么你想做什么呢?@Sam:当然,但是JDK中使用的名称是
urlcoder
。由于兼容性要求,他们不可能对其进行重命名。@Chris我对脚本中设置的字符串进行了编码(不是用户输入的),所以我想我根本不需要对其进行编码。我继续往前走,刚刚“按原样”过了线,一切正常。谢谢你的反馈。