PHP中的URL解码无法正常工作

PHP中的URL解码无法正常工作,php,urldecode,Php,Urldecode,我正在尝试使用PHP的urldecode函数解码此URL字符串: urldecode("%3CR201810579707%3E%20%3C20180828%3E%20%3C20180912%3E%20%3C1033.00%3E%20%3CY%3E%20%3C0.00%21NA%3E"); 这应该是输出 <R201810579707> <20180828> <20180912> <1033.00> <Y> <0.00!NA>

我正在尝试使用PHP的urldecode函数解码此URL字符串:

urldecode("%3CR201810579707%3E%20%3C20180828%3E%20%3C20180912%3E%20%3C1033.00%3E%20%3CY%3E%20%3C0.00%21NA%3E");
这应该是输出

<R201810579707> <20180828> <20180912> <1033.00> <Y> <0.00!NA>

…但相反的是,我们正在

<20180828> <20180912> <1033.00> <0.00!NA>


我已经在a中成功地测试了字符串,但似乎无法在服务器端执行此操作。有什么想法吗?

如果在网页上打印结果,尖括号将被视为标记分隔符。您可以通过调用
htmlentities()
,逐字显示它:


如果在网页上打印结果,尖括号将被视为标记分隔符。您可以通过调用
htmlentities()
,逐字显示它:

是否将带尖括号的文本输出到HTML上下文中?(查看源代码如何?)。所有类似于有效HTML标记的内容都将按此方式处理,您将在预览窗格中看到
。这就是HTML的工作原理,它与URL无关。您是否将带尖括号的文本输出到HTML上下文中?(查看源代码如何?)。所有类似于有效HTML标记的内容都将按此方式处理,您将在预览窗格中看到
。这就是HTML的工作原理,它与URL无关。
echo htmlentities(urldecode("%3CR201810579707%3E%20%3C20180828%3E%20%3C20180912%3E%20%3C1033.00%3E%20%3CY%3E%20%3C0.00%21NA%3E"));