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”,则不会出现问题:/尝试将双引号更改为单引号