Я получаю доступ к своему скрипту
http://www.anydomain.com/code.php?a=ií
а также code.php в основном это
<?php header('Content-Type: text/html; charset=utf-8'); ?>
<html><head>
<meta charset="UTF-8">
</head><body>
<script>
console.log('<?php echo $_SERVER['QUERY_STRING'];?>');
console.log(unescape('<?php echo $_SERVER['QUERY_STRING'];?>'));
console.log('<?php echo $_GET['a'];?>');
</script>
</body></html>
журналы, которые я получаю:
а = я% C3% А.Д.
а = iÃ
Ii
В реальной жизни я ожидаю много параметров и нужно сохранить полный запрос, поэтому $ _SERVER [ ‘QUERY_STRING’] было бы очень удобно. Но кодировка, кажется, не работает должным образом, как это с $ _GET функция.
Есть ли способ получить запрос, используя $ _SERVER [ ‘QUERY_STRING’] но используя кодировку $ _GET?
Проблема была не в PHP вообще, а в функции javascript unescape
, Когда я изменился на decodeURIComponent
это работало просто отлично.
$query = http_build_query($_GET);