你们是在什么场景下用的,还有直接base6和他有啥区别,也都可以实现想要的结果吧?
常用的场景我用过的:
假设你的网站希望采用rest风格的路由来做搜索引擎优化:
http://www.somesite.com/tag/:name
上面的业务是根据某个tag名称,来呈现对应的页面,但是url中是不允许有中文出现的,所以如果我的
name是:
http://www.somesite.com/tag/美女与野兽
那么我需要urlencode一下。
PS:现代浏览器几乎都支持中文直接显示,那是因为浏览器帮你做了encode的事情,但是老版本的IE,例如IE6等不会,例如你可以在chrome中直接输入中文url,但是你不能通过命令执行
curl some_url_contain_中文
你可以看看segmentfault的tag系统,你查看源码,看下中文tag的url。
4 回答13.3k 阅读✓ 已解决
5 回答7.8k 阅读✓ 已解决
1 回答1.5k 阅读✓ 已解决
1 回答977 阅读✓ 已解决
1 回答1.4k 阅读
1 回答1.5k 阅读
2 回答1k 阅读
有時候urlencode用在回調地址那裡.
例如一個接口,你傳送過去時,需要帶上你這邊的回調地址,也是個url. 這樣你不能url+url傳送,需要一個urlencode把回調地址編碼,防止發生問題.
例如:微信的一個接口
REDIRECT_URI 這裡應該填你的服務器回調地址.正常寫法如 http://api.baidu.com/callback.php
那麼生成的接口就是
這樣訪問肯定出問題...
那麼
http://api.baidu.com/callback.php
這個回調地址,就要urlencode后再放到地址中發送.這樣傳就沒問題了!