PHP中奇怪的编码问题
我已经头痛了好几个小时了,我还是不明白这个问题。我有一个关联数组,当我试图用它构建查询时,它会在浏览器中显示奇怪的字符PHP中奇怪的编码问题,php,encode,Php,Encode,我已经头痛了好几个小时了,我还是不明白这个问题。我有一个关联数组,当我试图用它构建查询时,它会在浏览器中显示奇怪的字符 $reportVars = [ "__report" => "alpha", "start_date" => "2001", "end_date" => "2002", "dsp_id" => "SPP", "current_sp_id
$reportVars = [
"__report" => "alpha",
"start_date" => "2001",
"end_date" => "2002",
"dsp_id" => "SPP",
"current_sp_id" => "SPP_1",
"sp_name" => "fawzan"
];
print_r(http_build_query($reportVars));
这是我在浏览器中得到的输出
__report=alpha&start_date=2001&end_date=2002&dsp_id=SPP¤t_sp_id=SPP_1&sp_name=fawzan
请注意输出中SPP之后的奇怪字符(·),在您询问否之前,我没有从任何地方复制它。我只是徒手打字
有人能帮我吗 ¤正在转换为· 您现在可能没有什么选择:
当前\u sp\u id
移动到顶部,使其成为第一个变量,以便在其前面没有&
&
作为分隔符,而不是&
,只能使用:
print_r(http_build_query($reportVars、、&;)代码>
&
和amp
之间的空格,添加它是因为它也正在转换为&仅在此处)
根据我的理解,php并没有引起这个问题,这是您的浏览器处理¤的方式,可能是将其转换为·本身尝试更改变量的顺序?请告诉我有什么困难吗?我也试过了。我移动了当前的\u sp\u id,没有运气:/current\u sp\u id或spp之后的任何单词都会发生这种情况?奇怪,如果我删除“current\u sp\u id”中的“n”,则不会出现问题:/尝试将双引号更改为单引号