0

我有一个用 JS 编码的查询

query = encodeURIComponent(query);
//also tried encodeURI(query); with the same result
var request = $.ajax(
        {
            type: 'GET',
            url: 'add-reciepe.php',
            data: query
        }
    )

在 PHP 方面,我想用 urldecode(); 对其进行编码。

$query = $_SERVER['QUERY_STRING'];
$query = urldecode($query);
parse_str($query, $out);

但是 $query (urldecoded string) 输出与输入完全相同(例如,cocktail-type=Cocktailtyp+w%C3%A4hlen)

奇怪的是,如果我将 'Cocktailtyp+w%C3%A4hlen' 写入数据库,则数据库中的文本为: Cocktailtyp wählen

mb_internal_encoding('UTF-8'); 已设置。

有人知道如何解码 php 中的查询字符串或我的问题出在哪里吗?

4

0 回答 0