我一Zend框架URI喜欢/控制/action/var1/值1/var2/值2.

  1. 值2有一个空格。我应该如何进行编码,它在PHP?当我用urlencode与值2,这转换成'+'代替'%20f'.是,好吗?

  2. 这值2也被添加到a href的位置,通过javascript对客户的侧面。我使用逃生的功能,但有时我点击的链接,我既没有看到'+'也不'%20f'在火狐地址栏。但当我看到它在萤火虫'净额'tab,我看到%20f。

其功能应该使用在PHP和javascript?

有帮助吗?

解决方案

关于你的第一个问题,也就是之间的差异 urlencoderawurlencode :

var_dump(urlencode("hello, world"));

会让你:

string 'hello%2C+world' (length=14)

同时

var_dump(rawurlencode("hello, world"));

会让你:

string 'hello%2C%20world' (length=16)

我想都应该是确定;但是随意尝试一下,只是在情况;-)


关于第二点:Firefox试图网址"漂亮的",显示他们在一个人可读方式,而不是编码-这是对我们developpers,但是很好的向最终用户。

例如,如果我输入该网址,在Firefox的地址栏:

http://tests/temp/temp.php?a=hello%2C%20world

当我按下 输入 关键的,它自动翻译来

http://tests/temp/temp.php?a=hello%2C%20world

如果它的工作方式,你这样做 (而且,正如你看到一个编码的网址与萤火虫,它可能工作), 一切都OK;-)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top