URL编码奇怪

URL getting coded strangely

本文关键字:编码 URL      更新时间:2023-09-26

我正在构建一个允许用户修改某些文本的网站。然后,我正在建立一个url,这样他们就可以回来,他们的mod将在页面加载时应用。这一切都工作,除了我得到一些"时髦"的字符,当我在浏览器地址栏输入url。

我输入的url是:

http://localhost:8888/PlantTags/index%20copy.php/temp=lg_oval&cn=Common Name&cX=-10&cY=40&cf=Giddyup&cfs=52&clh=1&ca=center&bn=Botanical Name&bX=80&bY=115&bf=Comic-Sans-Ms&bfs=21&blh=1&ba=center&rev=false

但是浏览器将其编码为:

http://localhost:8888/PlantTags/index%20copy.php?temp=lg_oval&cn=Big%2520Jumbo&cX=-10&cY=40&cf=Giddyup&cfs=52&clh=1&ca=center&bn=Botanical%2520Name&bX=80&bY=115&bf=Comic-Sans-Ms&bfs=21&blh=1&ba=center&rev=false?temp=lg_oval&cn=Big%20Jumbo&cX=-10&cY=40&cf=Giddyup&cfs=52&clh=1&ca=center&bn=Botanical%20Name&bX=80&bY=115&bf=Comic-Sans-Ms&bfs=21&blh=1&ba=center&rev=false

所以当我从url中获取cn参数时,我得到了额外的字符。谁能告诉我%2520是从哪里来的,该怎么做?我已经尝试将其插入到一个文本区,并从中获取html和解码uricomponent…均以失败而告终。哦是的…javascript或jQuery是选择的语言。

再次感谢你,

托德

尽量不要在要编码的URL中使用空格,而是使用连字符。它们将更具可读性,并且不会像%20那样在%2520中进行双编码

解码%2520得到%20

URL中不允许使用空格,而在"&cn=Common Name"中有一个空格

浏览器将更改(实际上是url编码)所有空格为%20来发送请求。所以你需要改变的值,如"common_name"或其他东西,但你的服务器也应该能够处理…另一种方法是解码URL服务器端让%20再次变成空格然后让它做它的事情