我有一个用 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 中的查询字符串或我的问题出在哪里吗?