首页 >php教程 >PHP源码 >自动转换字符集 支持数组转换

自动转换字符集 支持数组转换

PHP中文网
PHP中文网原创
2016-05-25 17:09:451338浏览

php代码

// 自动转换字符集 支持数组转换
/*************************************************************
* 参数说明
* fContents:需要转换编码的数据源
* from:数据源内容编码
 * to:   转换后的数据内容编码
*************************************************************/
function auto_charset($fContents, $from, $to) {
    $from = strtoupper($from);
    $to   = strtoupper($to);
    if (strtoupper($from) === strtoupper($to) || empty($fContents) || (is_scalar($fContents) && !is_string($fContents))) {
        //如果编码相同或者非字符串标量则不转换
        return $fContents;
    }
    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 {
            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;
    }  else {
        return $fContents;
    }
}

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn