我有一个小问题......如果我使用 php 函数来转换一个 utf8 字符串,比如André
php 函数 url encode('André') 返回 Andr%C3%A9。
但如果我查看 w3school 参考表,é 的正确 urlencode 是 %E9...
见这里:www.w3schools.com/tags/ref_urlencode.asp
如何在 php 中获取正确的 url 编码字符串?
我有一个小问题......如果我使用 php 函数来转换一个 utf8 字符串,比如André
php 函数 url encode('André') 返回 Andr%C3%A9。
但如果我查看 w3school 参考表,é 的正确 urlencode 是 %E9...
见这里:www.w3schools.com/tags/ref_urlencode.asp
如何在 php 中获取正确的 url 编码字符串?
不同之处在于 w3schools 上的编码参考值采用 iso-8859-1 编码,而您的版本使用 utf-8 编码。vvr02 给出的示例无关紧要,因为 HTML 文档中显示的编码不会影响保存文件时使用的编码。
您的版本(文件以 UTF-8 格式保存)返回 é 的 utf-8 表示,而保存在 iso-8859-1(或类似)中的 vvr02 版本返回 é 的 iso-8859-1 表示.
根据上下文,它们都是正确的。
刚才我检查了它是否给出了正确的休息。这就是它给出的“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>
Andr%E9 并不比 Andr%C3%A9 更“正确”。正如人们所解释的,这只是与文档编码有关,它可以由元标记或 HTTP 标头设置。