Zend框架URI空间编码在PHP和Javascript
-
21-09-2019 - |
题
我一Zend框架URI喜欢/控制/action/var1/值1/var2/值2.
值2有一个空格。我应该如何进行编码,它在PHP?当我用urlencode与值2,这转换成'+'代替'%20f'.是,好吗?
这值2也被添加到a href的位置,通过javascript对客户的侧面。我使用逃生的功能,但有时我点击的链接,我既没有看到'+'也不'%20f'在火狐地址栏。但当我看到它在萤火虫'净额'tab,我看到%20f。
其功能应该使用在PHP和javascript?
解决方案
关于你的第一个问题,也就是之间的差异 urlencode
和 rawurlencode
:
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;-)
不隶属于 StackOverflow