我使用GET方法
将我的变量传递给urlhttp://www.mysite.com/demo.php?sid=123121&email_id=stevemartin144%40gmail.com
&安培;当我在demo.php上打印$ _GET时,它显示如下参数:
email_id stevemartin144@gmail.com
sid 123121
而不是上面的输出我想要参数,因为我通过了
email_id stevemartin144%40gmail.com
sid 123121
我不想将%40转换为@
请建议我解决这个问题
提前致谢
答案 0 :(得分:3)
“%40”表示
“@”。如果你想要“%”到意味着“%”,你需要对其进行URL编码为“%25”。URL编码只是一种传输编码。如果您输入“@”,其传输编码版本为“%40”,但收件人将再次获得“@”。如果您想要输入“%40”并让收件人收到“%40”,则需要对其进行URL编码为“%2540”。
如果收件人正确收到“@”但你想出于某种原因使用URL编码版本,你也可以让收件人再次对其进行编码。
答案 1 :(得分:0)
注释:
在线转换器:
用等效的十六进制unicode替换特殊字符。 有关Unicode列表,请访问网站https://unicode-table.com(或)http://unicodelookup.com
使用Python的本地转换器:
参考:密码“ p @ s#w:E”到unicode的转换如下,
@ = %40
$ = %24
# = %23
: = %3A
p@s#w:E = p%40s%23w%3AE
输入:
[root@localhost ~]# python -c "import sys, urllib as enc; print enc.quote_plus(sys.argv[1])" "p@s#w:E"
输出:
p%40s%23w%3AE