enpreURIComponent()在JS和PHP中使用时,您应该收到正确的值。
注意:当您访问
$_GET,
$_POST或
$_REQUEST在PHP中,要检索已经被解码值。
例:
在您的JS中:
// url enpre your stringvar string = enpreURIComponent('+'); // "%2B"// send it to your serverwindow.location = 'http://example.com/?string='+string; // http://example.com/?string=%2B在您的服务器上:
echo $_GET['string']; // "+"
只有原始的HTTP请求包含url编码的数据。
对于GET请求,您可以从
URI.$_SERVER['REQUEST_URI']或中检索该请求
$_SERVER['QUERY_STRING']。对于邮递区号,
file_get_contents('php://stdin')注意:
depre()仅适用于单字节编码的字符。它不适用于整个UTF-8范围。
例如:
text = "u0100"; // Ā// incorrectescape(text); // %u0100 // correctenpreURIComponent(text); // "%C4%80"
注意:
"%C4%80"等同于:
escape('xc4x80')这是UTF-8
xc4x80中表示的字节序列()
Ā。因此,如果您使用
enpreURIComponent()服务器端,则必须知道它正在接收UTF-8。否则,PHP将破坏编码。



