%40 在 Get 上转换为 @

use*_*091 5 encoding url-encoding

我使用 GET 方法将变量传递给 url,如下所示

http://www.mysite.com/demo.php?sid=123121&email_id=stevemartin144%40gmail.com
Run Code Online (Sandbox Code Playgroud)

当我在 demo.php 上打印 $_GET 时,它显示参数如下:

email_id    stevemartin144@gmail.com
sid 123121
Run Code Online (Sandbox Code Playgroud)

我想要的不是上面的输出,而是我传递的参数

email_id    stevemartin144%40gmail.com
sid 123121
Run Code Online (Sandbox Code Playgroud)

我不想将 %40 转换为 @

请建议我解决这个问题

提前致谢

dec*_*eze 5

URL 中的“%40”表示“@”。如果你想让“%”代表 %”,你需要将其URL编码为“%25”。

URL编码只是一种传输编码。如果您输入“@”,其传输编码版本为“%40”,但收件人将再次收到“@”。如果您想输入“%40”并让收件人收到“%40”,则需要将其 URL 编码为“%2540”。

如果收件人正确接收到“@”,但您出于某种原因想要使用 URL 编码版本,您也可以让收件人再次对其进行 urlencode。