纵有疾风起
人生不言弃

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

// 自动转换字符集 支持数组转换
function auto_charset($fContents, $from = ‘gbk’, $to = ‘utf-8’) {
$from = strtoupper($from) == ‘UTF8’ ? ‘utf-8’ : $from;
$to = strtoupper($to) == ‘UTF8’ ? ‘utf-8’ : $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;
}
}

未经允许不得转载:起风网 » php 自动转换字符集 支持数组转换
分享到: 生成海报

评论 抢沙发

评论前必须登录!

立即登录