在某些场合,比如搜索的地方,使用get方法传递关键词来搜索,当有多数答案涉及到翻页的时候,点击下一页的时候因为参数中关键词带中文,所以后台会接受到乱码,这个是因为浏览器和程序的问题导致的,浏览器我们不能更改,所以来找程序的问题了,
在thinkphp3.1中,在ThinkPHP/Extend/Libary/ORG/Util/Page.class.php的97行左右作如下操作
将$url = U('',$parameter); 修改为$url = $this->clin_page_url($parameter);
然后在此类中增加一个函数
private function clin_page_url($parameter){ $url=U(); $url=str_replace('.html','?',$url); foreach($parameter as $key=>$value){ $url.=$key.'='.$value.'&'; } $url=substr($url,0,-1); return$url; }
这样就可以解决翻页中文乱码,至于网上所说utf-8编码问题,urlencode问题,都不能解决