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 文字列) の出力は入力とまったく同じです (たとえば、cocktail-type=Cocktailtyp+w%C3%A4hlen)。

奇妙なことに、「Cocktailtyp+w%C3%A4hlen」をデータベースに書き込むと、データベース内のテキストは次のようになります。Cocktailtyp wählen

mb_internal_encoding('UTF-8'); が設定されています。

PHPでクエリ文字列をデコードする方法や、私の問題がどこにあるのか、誰かが知っていますか?

4

0 に答える 0