我正在尝试在URL中使用特殊的danish
字符(æøå)作为GET参数。例如,我有这个网址:
http://example.com?name=åge
该 URL 将自动转换为 ASCII 等效项,因此在 URL 中它将读取:
http://example.com?name=%E5ge
当我访问并打印出该值时,它工作正常,并将该参数显示为:奥格
但是,我正在使用它来选择数据库中的内容,这不起作用。如果我在 URL 中使用 ASCII 版本,它不会从数据库中选择任何内容,只会给我一个空的结果。如果我强制 URL 不使用 ASCII,那么它是:http://example.com?name=åge
从数据库中选择时它会正常工作,但是当我显示参数时,它显示为: Ã¥
我不知道如何解决这个问题。任何帮助,不胜感激。
我会将参数转换为 UTF-8,然后为 UTF-8 查询准备数据库,如下所示:
$name = utf8_encode($_GET['name']);
mysqli_query($mysqli_connector, "SET NAMES UTF8");
然后,准备您的查询。
这应该行得通。
我希望这有所帮助!