我尝试在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
它从数据库中选择时可以正常工作,但当我显示参数时,它显示如下:
Ã¥
我不知道如何解决这个问题。任何帮助表示赞赏。
答案 0 :(得分:1)
我会将参数转换为UTF-8,然后为UTF-8查询准备数据库,如下所示:
$name = utf8_encode($_GET['name']);
mysqli_query($mysqli_connector, "SET NAMES UTF8");
然后,准备好您的查询。
这应该有效。
我希望有所帮助!