1
dxwwym 2016-07-12 22:02:25 +08:00 via iPhone
楼主是处女座?
|
2
firstway 2016-07-12 22:31:32 +08:00 via Android
“浏览器地址栏里,@字符就会被转码成 %40 。 ”我觉得没有办法不这样,除非你自己写一个浏览器。
|
3
FrankFang128 2016-07-12 22:35:22 +08:00
Chrome 就可以啊
楼主你这个观察能力 |
4
honkew 2016-07-12 22:57:14 +08:00
没有发现 @变成%40
|
5
yeyeye 2016-07-13 01:56:18 +08:00
|
6
tifan 2016-07-13 06:51:16 +08:00
按照 RFC 3986, @ 符号是 reserved character ,进行 encode 是标准预期的行为。
https://tools.ietf.org/html/rfc3986#section-2.2 |
8
rogwan OP @firstway
@tifan 建议可以看下 medium.com ,在任何页面点击用户名,跳转的页面 url 里都是 https://medium.com/@username 这个原生格式,@字符并没有被转码。 |
9
LPeJuN6lLsS9 2016-07-13 09:12:35 +08:00
这问题是你问的啊: https://stackoverflow.com/questions/38319627/how-to-display-instead-of-being-encoded-as-40-urlencode-in-browser-address
就 unquote 一个吧。不过回答你问题的人举的例子,在 href 里用未 encode 的 url 就算了,还在 redirect 里用,会不会出问题? |
10
LPeJuN6lLsS9 2016-07-13 09:15:20 +08:00
|
12
rogwan OP @hantsuki medium.com 做的很好啊,不管什么浏览器,连 IE 都显示原生 href 字符,不会进行 url 转码( Urlencode )。
|
13
shunia 2016-07-13 10:39:48 +08:00
medium 可能是 js 处理的哦。。。
|
14
mulog 2016-07-13 10:56:32 +08:00
这是你渲染模板时就已经 urlencode 了吧,我记得 url_for 是会做 urlencode 的, 你再把 %40 replace 掉呗 (也很不优雅)。。
我只是好奇一下,你觉得 /@username 比 /username 好在哪里? |
15
21grams 2016-07-13 11:37:41 +08:00
我看了 stackoverflow 上的问题才明白楼主问的是什么,楼主的英文表达强于中文。
|