PHP 中的奇怪编码问题
Strange encoding issue in PHP
我已经用头撞墙几个小时了,我仍然无法弄清楚问题所在。我有一个关联数组,当我尝试用它构建查询时,它在浏览器中显示奇怪的字符。
$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 后输出中的奇怪字符 (¤),在你问之前 不,我没有从任何地方复制它。我只是徒手打字。
有人可以帮我吗?
¤ 正在转换为 ¤
您现在可能没有几个选择:
将 current_sp_id
移到顶部,使其成为第一个变量,这样它前面就没有 &
使用 &
作为分隔符而不是 &
仅通过使用:
print_r(http_build_query($reportVars, '', '& amp;'));
(删除 &
和 amp
之间的 space,添加它是因为它也仅在此处转换为 &。
P.S。根据我的理解,php 不会导致此问题,这是您的浏览器处理 ¤ 的方式,可能会将其转换为 ¤ 本身
我已经用头撞墙几个小时了,我仍然无法弄清楚问题所在。我有一个关联数组,当我尝试用它构建查询时,它在浏览器中显示奇怪的字符。
$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 后输出中的奇怪字符 (¤),在你问之前 不,我没有从任何地方复制它。我只是徒手打字。
有人可以帮我吗?
¤ 正在转换为 ¤
您现在可能没有几个选择:
将
current_sp_id
移到顶部,使其成为第一个变量,这样它前面就没有&
使用
&
作为分隔符而不是&
仅通过使用:print_r(http_build_query($reportVars, '', '& amp;'));
(删除 &
和 amp
之间的 space,添加它是因为它也仅在此处转换为 &。
P.S。根据我的理解,php 不会导致此问题,这是您的浏览器处理 ¤ 的方式,可能会将其转换为 ¤ 本身