我写了一个小php(test.php),它读取并显示传递给它的数据。
<?php $name = $_GET['name'];
echo $name;?>
当我执行以下URL时http://localhost/test.php?name=Géo
显示的文本为:G�o
然而,当我从另一个网页提交"Géo"时:
<form method="get" action="test.php">
<input type="test" name="name">
<input type="Submit">
</form>
URL变为http://localhost/test.php?name=G%C3%A9o
现在显示正确的文本:Géo
在第一个场景中,只有当我添加utf8_encode($_GET['name'])时,才会显示正确的文本(Géo)。
我的问题:是否可以知道数据是如何传递的,通过表格提交还是直接从URL提交。如果没有,那么我应该对网页进行哪些更改,以便正确处理这两种情况,即在两种情况下都显示Géo。
谢谢你的帮助。
您可以添加注册表。表达式,该表达式将检查参数是否包含%
。因为编码的参数可能包含CCD_ 6。
但是,如果您执行的url由于某种原因包含%
,则问题将再次出现。。。