PHP中,用GET传递中文字符串,很大几率产生乱码,对于这一个问题,有以下解决办法:

方法一:页面最开始处,加上header("Content-Type:text/html;charset=GB2312");

方法二:用 iconv转化一下,例如:$title_this = iconv("UTF-8","gb2312",$_GET["title"]);

方法三:传之前将中文字符串&中文变量用urlencode编码处理一下,接收到GET变量后,再用urldecode还原。

方法一将页面编码固定为GB2312,虽然可以解决问题,不过对于PHP来说,还是用统一的UTF-8编码比较合适;方法二,也存在问题,把从GET获得的中文重新用GB2312编码处理,这样是可以显示中文了,但当整个页面是其他编码例如UTF-8时,又会出现乱码。推荐第三种方法。