$_GET vs$_SERVER['QUERY_STRING']-编码问题
$_GET vs $_SERVER['QUERY_STRING'] - encode issue
我正在访问我的脚本,抛出一个类似的URL
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>
我得到的日志是:
a=i%C3%AD
a=iií
在现实生活中,我预计会有很多参数,并且需要保存完整的查询,所以$_SERVER['query_STRING']会非常方便。但是字符集似乎不能正常工作,就像$_GET函数一样。
是否有一种方法可以使用$_SERVER['query_STRING']但使用$_get的字符集来获取查询?
问题根本不在PHP,而是在javascript函数unescape
中。当我换成decodeURIComponent
时,它运行得很好。
$query = http_build_query($_GET);
相关文章:
- ajax表单提交的编码问题
- 导出为 CSV 时的编码问题
- 地理编码器 - IE8 中的编码问题
- 参数未正确传递给AJAX-编码问题
- AngularJS/Grunt编码问题
- Outlook中的HTML锚定邮件主题编码问题
- NetSuite Restlet PDF 文件编码问题
- 在安卓中使用 JavaScript 设置内容时出现编码问题
- Javascript到csv导出编码问题
- 为什么此字符编码问题仅在选定系统上出现
- JavaScript utf-8 编码问题
- JavaScript WebSocket 字符编码问题(文本)
- 文档.引荐来源网址编码问题
- jquery单词计数器的输入编码问题
- JSP、JQuery和Javascript的字符集编码问题
- 外部gem的资产管道编码问题(UTF-8与ASCII-8BIT)
- 集成Moment JS库时出现编码问题
- Expressjs:res.download期间图像文件编码问题
- php中日语字符的编码问题
- Strophe字符编码问题