Home  >  Article  >  php教程  >  自动转换字符集 支持数组转换

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

PHP中文网
PHP中文网Original
2016-05-25 17:09:451309browse

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;
    }
}

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:php获取网页301真实地址Next article:PHP DDOS(高斯炮)