龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

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

时间:2014-07-22 14:50来源: 作者: 点击:
分享到:
// 自动转换字符集 支持数组转换
// 自动转换字符集 支持数组转换
// 自动转换字符集 支持数组转换
/*************************************************************
* 参数说明
* 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;
    }
}
精彩图集

赞助商链接