//字符串转换方法
public function get_encoding($data,$to)
{
$encode_arr = array('UTF-8','ASCII','GBK','GB2312','BIG5','JIS','eucjp-win','sjis-win','EUC-JP');
$encoded = mb_detect_encoding($data, $encode_arr);
$data = mb_convert_encoding($data,$to,$encoded);
return $data;
}
//字符串转换调用
$array=array();
foreach($Isp as $i){
$i[cnname]=$this->get_encoding($i[cnname],"GB2312");
$array[]=$i;
}
dump($array);
//转换成功
array
0 =>
array
'id' => string '1' (length=1)
'numbering' => string '001' (length=3)
'catid' => string '1' (length=1)
'cnname' => string '中国电信' (length=8)
'enname' => string 'CT' (length=2)
'englishname' => string 'China Telecom' (length=13)
'isdelete' => string '0' (length=1)
'remarks' => string '' (length=0)
1 =>
array
'id' => string '2' (length=1)
'numbering' => string '002' (length=3)
'catid' => string '1' (length=1)
'cnname' => string '中国联通' (length=8)
'enname' => string 'CU' (length=2)
'englishname' => string 'China Unicom' (length=12)
'isdelete' => string '0' (length=1)
'remarks' => string '' (length=0)
2 =>
array
'id' => string '3' (length=1)
'numbering' => string '003' (length=3)
'catid' => string '1' (length=1)
'cnname' => string '中国移动' (length=8)
'enname' => string 'CM' (length=2)
'englishname' => string 'China Mobile' (length=12)
'isdelete' => string '0' (length=1)
'remarks' => string '' (length=0)
字符串编码转换与信息处理
这段代码展示了如何使用PHP进行字符串的编码检测与转换,主要针对中文字符集如UTF-8、GBK等。通过`mb_detect_encoding`和`mb_convert_encoding`函数,实现了从多种可能的编码到指定编码的转换,确保数据正确显示。示例中将数组中的'cnname'字段转换为GB2312编码,并打印了转换后的结果,包括中国电信、中国联通和中国移动等运营商信息。
433

被折叠的 条评论
为什么被折叠?



