这段代码是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 ) { unset($fContents[$key]); } } return $fContents; } elseif(is_object($fContents)) { $vars = get_object_vars($fContents); foreach($vars as $key=>$val) { $fContents->$key = auto_charset($val,$from,$to); } return $fContents; } else{ return $fContents; } }
php程序编码怎么转换,编码转换php
最新推荐文章于 2022-10-26 08:37:43 发布