我有一个小问题......
如果我使用php函数转换像André
这样的utf8字符串,php函数url encode('André')将返回Andr%C3%A9。
但如果我看一下w3school引用表,é的正确urlencode是%E9 ......
见这里:www.w3schools.com/tags/ref_urlencode.asp
如何在php中获取正确的url编码字符串?
答案 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标头进行设置。