解决 ThinkPHP URL 中文乱码问题

jerry thinkphp 2015年11月18日 收藏
解决 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);
                    }
                }
            }
        }
        
    }
}