发送到服务器的参数编码与服务器内部的编码不同


parameter encoding are sending to server are different from encoding in server

这对我来说很难解释。但

我使用volley库从服务器获取json到我的android应用程序。我正在使用GET将参数发送到服务器。

…/myServer/webservices/myPhp.php ?这回= 19700101120000,城市=پارسی

这是一个uri的例子,我发送到服务器来获取json结果

当我复制链接到chrome或任何浏览器它工作正常。但是当我通过android和使用volley库发送该链接时,json的结果是什么也没有!

我认为有两个不同的编码字符在android和我的服务器的问题

我将其中一个参数发送给服务器正如你在上面的链接中看到的是阿拉伯字体

你能帮我找出这个问题吗

url只允许US-ASCII字符,但我猜您可以尝试将数据编码为utf,如下所示:

 $city = 'پارسی';
 $encodedPath = rawurlencode($city);

参考 SO答案