我尝试使用PHP的urldecode函数来解码这个URL字符串:
urldecode("Ant%C3%B4nio+Carlos+Jobim");
这应该是输出。。
'Antônio Carlos Jobim'
。但是却在做这个
'Antônio Carlos Jobim'
我已经在JS-based online decoder中测试了这个字符串,取得了很大的成功,但是似乎不能在服务器端执行此操作。有什么想法吗?
我尝试使用PHP的urldecode函数来解码这个URL字符串:
urldecode("Ant%C3%B4nio+Carlos+Jobim");
这应该是输出。。
'Antônio Carlos Jobim'
。但是却在做这个
'Antônio Carlos Jobim'
我已经在JS-based online decoder中测试了这个字符串,取得了很大的成功,但是似乎不能在服务器端执行此操作。有什么想法吗?
5条答案
按热度按时间q3aa05251#
您的字符串也是 * UTF-8编码的。这将工作:
产出:“安东尼奥·卡洛斯·若宾”。
i5desfxk2#
实际上,您得到了所需的输出,但它没有被解释为UTF-8。如果这是在HTTP应用程序上,你应该发送一个头或一个Meta标记(或两者),这将告诉客户端使用UTF-8。
**编辑:**例如:
xggvc2p63#
当我做
它的显示正确在我的浏览器一样
安东尼奥·卡洛斯·若宾
我用XAMPP测试过
wfauudbj4#
另一种选择是:
输出变为:
http://mysite.com
ozxc1zmp5#
在回显到页面之前是否也使用
htmlenteties
?当我刚刚测试你的代码时,它只在urldecode("Ant%C3%B4nio+Carlos+Jobim");
部分运行得很好,但是当我运行htmlentities
时,我得到了和你一样的输出。这似乎是UTF-8字符和PHP如何处理
htmlentities
函数的问题。