【www.gdgbn.com--thinkphp】

这段代码是ThinkPHP框架中的,感觉很常用,所以单独拎出来,大家共同学习一下。
 
function auto_charset($fContents,$from="""",$to="""")
{
    if( strtoupper($from) === strtoupper($to) || empty($fContents) || (is_scalar($fContents) && !is_string($fContents)) ){
        //如果编码相同或者非字符串标量则不转换
        return $fContents;
    }
    $from   =  strtoupper($from)==""UTF8""? ""utf-8"":$from;
    $to       =  strtoupper($to)==""UTF8""? ""utf-8"":$to;
    if(is_string($fContents) ) {
                if(function_exists(""mb_convert_encoding"")){
            return mb_convert_encoding ($fContents, $to, $from);
        }elseif(function_exists(""iconv"")){
            return iconv($from,$to,$fContents);
        }else{
            exit(""转换失败"");
            return $fContents;
        }
    }
    elseif(is_array($fContents)){
        foreach ( $fContents as $key => $val ) {
                        $_key =         auto_charset($key,$from,$to);
            $fContents[$_key] = auto_charset($val,$from,$to);
                        if($key != $_key ) {
                           &

本文来源:http://www.gdgbn.com/jiaocheng/12301/