“珅”字: GBK 不认得(字库里应该没有这个字),需要将字符串用“|” explode 分割为数组,有好的解决办法?
code 存储编码: GBK
以下是测试 code
<?php
$str = '和珅虽是奸臣|为什么被 GBK 歧视';
$arr = explode ('|',$str );
print_r ($arr );
?>
目前我们用的办法: GBK 先转 UTF8 再转回来,感觉比较麻烦,有神马神秘简单的方法没?
<?php
$str = '和珅虽是奸臣|为什么被 GBK 歧视';
$str = iconv ('GBK', 'UTF-8', $str );
$arr = explode ('|',$str );
print_r (utf_gbk ($arr ));
function utf_gbk ($data ){
if (is_array ($data )){
foreach ($data as $k=>$v ){
$result[$k] = utf_gbk ($v );
}
}else{
$result = iconv ("UTF-8", "GBK//IGNORE", $data );
}
return $result;
}
?>