php urlencode没有返回与w3school ref table相同的值

时间:2013-01-11 11:42:30

标签: php urlencode

我有一个小问题...... 如果我使用php函数转换像André这样的utf8字符串,php函数url encode('André')将返回Andr%C3%A9。

但如果我看一下w3school引用表,é的正确urlencode是%E9 ......

见这里:www.w3schools.com/tags/ref_urlencode.asp

如何在php中获取正确的url编码字符串?

3 个答案:

答案 0 :(得分:1)

不同之处在于w3schools上的编码参考值采用iso-8859-1编码,而您的版本采用utf-8编码。 vvr02给出的示例无关紧要,因为HTML文档中显示的编码不会影响保存文件时使用的编码。

您的版本,其中文件以UTF-8格式保存,返回é的utf-8表示,而vvr02的版本保存在iso-8859-1(或类似)中返回iso-8859-1代表é。

根据具体情况,它们都是正确的。

答案 1 :(得分:0)

刚才我检查过它是否给出了正确的休息。这就是它给出的“Andr%E9”

 <!DOCTYPE html>
<html><head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body>
<?php
    echo urlencode("André");
?>
</body>
</html>

答案 2 :(得分:-1)

Andr%E9不再比Andr%C3%A9更“正确”。正如人们所解释的那样,它只与文档编码有关,可以通过元标记或HTTP标头进行设置。