想不到在小编看来完美的thinkphp还是有一些\'bug\',我们在多数据页时使用中文搜索会出现url乱码,实际上这个是浏览器的锅,浏览器自作聪明把非utf8的字符(中文)全变成了编码,不仔细看就是乱码,那么如何解决呢,一搜百度发现高手了
解决 ThinkPHP URL 中文乱码问题
将GetcodingBehavior.class.php放入/Lib/Behavior中
/Conf/tags.php 加入 \"app_begin\" => array(\"Getcoding\"),
/**
* $_GET 编码 解决url中文问题
* @author Administrator
*
*/
class GetcodingBehavior extends Behavior{
public function run(&$params) {
foreach ($_GET as $k=>$v){
if(!is_array($v)){
if (!mb_check_encoding($v, \'utf-8\')){
$_GET[$k] = iconv(\'gbk\', \'utf-8\', $v);
}
}else{
foreach ($_GET[\'_URL_\'] as $key=>$value){
if (!mb_check_encoding($value, \'utf-8\')){
$_GET[\'_URL_\'][$key] = iconv(\'gbk\', \'utf-8\', $value);
}
}
}
}
}
}
问题解决!