始终坚信
好记性不如赖笔头!

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            =   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;

    }

]]>

赞(0)
本站未标注原创文章均为转载,如有侵权请告知!二宝博客 » ThinkPHP分页无法使用汉字URL

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址