ThinkPHP分页无法使用汉字URL
当然首先你的linux系统得支持汉字,使用ThinkPHP分页发现无法使用汉字的URL,当我搜索传参使用汉字的时候,在分页url中带有汉字,在后台就不能解析;
不知道为什么,thinkphp的url默认是/action/function/parameter/data/
这种方式的话不符合html标准,从而导致个web解析,服务器解析,php解析等等可能会出错;
本人的系统是nginx+php+linux+mysql;
因为用到tp的分页函数的地方比较多,最后去修改tp的Page扩展源码;将生成的url符合html标准,这样就解决了汉字不能传输的问题;
修改的地方:
ThinkPHP/Extend/Libary/ORG/Util/Page.class.php的97行;
这样你的url就可以支持汉字了,符合url标准了;
不知道为什么,thinkphp的url默认是/action/function/parameter/data/
这种方式的话不符合html标准,从而导致个web解析,服务器解析,php解析等等可能会出错;
本人的系统是nginx+php+linux+mysql;
因为用到tp的分页函数的地方比较多,最后去修改tp的Page扩展源码;将生成的url符合html标准,这样就解决了汉字不能传输的问题;
修改的地方:
ThinkPHP/Extend/Libary/ORG/Util/Page.class.php的97行;
$url = U('',$parameter); // 按tp的规则生成url
改成:
$url = $this->clin_page_url($parameter); // 生成标准的url
在此类的最后追加一个函数: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;
}
这样你的url就可以支持汉字了,符合url标准了;