// url encode your string
var string = encodeURIComponent('+'); // "%2B"
// send it to your server
window.location = 'http://example.com/?string='+string; // http://example.com/?string=%2B
在你的伺服器上
echo $_GET['string']; // "+"
只有原始的HTTP請求包含url編碼的資料。
對於GET請求,您可以從URI中檢索它。 $_SERVER['REQUEST_URI']或$_SERVER['QUERY_STRING']。對於urlencoded POST, file_get_contents('php://stdin')
在JavaScript中試試看:
PHP中:
在JS和PHP中使用encodeuriccomponent(),你應該會收到正確的值。
注意:當您在PHP中存取$_GET、$_POST或$_REQUEST時,您正在檢索已經解碼的值。
範例:
在你的JS中:
在你的伺服器上
只有原始的HTTP請求包含url編碼的資料。
對於GET請求,您可以從URI中檢索它。 $_SERVER['REQUEST_URI']或$_SERVER['QUERY_STRING']。對於urlencoded POST, file_get_contents('php://stdin')
註:
Decode()僅適用於單字節編碼的字元。它不適用於整個UTF-8範圍。
eg:
Note:
"Ā"
is equivalent to:escape('\xc4\x80')
這是在UTF-8中表示Ā的位元組序列(\xc4\x80)。因此,如果您使用encodeuriccomponent(),您的伺服器端必須知道它正在接收UTF-8。否則PHP會打亂編碼。