1

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

但如果我查看 w3school 参考表,é 的正确 urlencode 是 %E9...

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

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

4

3 回答 3

1

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

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

根据上下文,它们都是正确的。

于 2013-01-11T11:55:37.480 回答
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>
于 2013-01-11T11:48:57.480 回答
-1

Andr%E9 并不比 Andr%C3%A9 更“正确”。正如人们所解释的,这只是与文档编码有关,它可以由元标记或 HTTP 标头设置。

于 2013-01-11T12:24:20.320 回答