PHP 中的 URL 解码

2022-08-30 13:04:17

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

urldecode("Ant%C3%B4nio+Carlos+Jobim");

这应该输出...

'Antônio Carlos Jobim'

...而是在欺骗这个

'Antônio Carlos Jobim'

我已经在基于JS的在线解码器中测试了字符串,取得了巨大的成功,但似乎无法在服务器端执行此操作。有什么想法吗?


答案 1

您的字符串也是 UTF-8 编码的。这将工作:

echo utf8_decode(urldecode("Ant%C3%B4nio+Carlos+Jobim"));

输出:“安东尼奥·卡洛斯·乔比姆”。


答案 2

实际上,您可以获得所需的输出,但它不会被解释为 UTF-8。如果这是在HTTP应用程序上,您应该发送一个标头或元标记(或两者兼而有之),这将告诉客户端使用UTF-8。

编辑:例如:

// replace text/html with the content type you're using
header('Content-Type: text/html; charset=UTF-8');

推荐