编码转换php

原创
2016-06-08 17:32:29 751浏览
这段代码是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 ) {
&
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。