php http_build_query 参数中文乱码的问题

时间:2016-07-01
今天出现一个搞怪的小问题,在使用 http_build_query 函数时,出现中文乱码的情况,最后仔细调试才解决了乱码的问题,现在给小伙伴分享一下解决办法。

php http_build_query出现中文乱码是因为页面编码不是utf-8,而是其他的编码,比如gbk.

解决办法是在页面头部加上header('Content-type: text/html; charset=utf-8');代码即可。

测试代码, php文件的编码为utf-8

<?php
header('Content-type: text/html; charset=utf-8');
isset($_GET['a']) AND print $_GET['a'];
?>
<a href="?q=dd&<?=http_build_query(array('a'=>'杠杠的'))?>">dian</a>