【发布时间】:2021-03-04 20:04:23
【问题描述】:
我正在构建一个包含 base64 编码参数集的超链接,如下所示:
$params = base64_encode("member_id={$recipient_id}&api_key=".SECRET_KEY);
$link = HOST_ADDRESS."test.php?k=" . $params;
链接执行时,运行如下代码:
// get the encoded string from the link parameter
$link_parm = $_GET['k'];
$link = substr($link_parm, 0);
// url encode the string to ensure all special characters convert properly - attempt to stop errors
urlencode($link);
// decode the rest of the link
$decoded_link = base64_decode($link);
// get the remaining data elements from the link parameter
$msg_data = preg_split( "/[&=]/", $decoded_link);
有时,$msg 数据已损坏,如下所示:
member_id=167œÈ&api_key=secretkey
如您所见,会员 ID 已损坏。
有人可以帮我了解导致这种情况的原因吗?
谢谢。
【问题讨论】:
-
当显示“损坏”的输出时,
var_dump($recipient_id);会显示什么?
标签: php character-encoding urlencode base64url