加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 钦州站长网 (https://www.0777zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php 编码转换

发布时间:2022-11-04 11:08:12 所属栏目:PHP教程 来源:
导读:  编码转换这段代码是ThinkPHP框架中的,感觉很常用php编码,所以单独拎出来,大家共同学习一下。

  function auto_charset($fContents,$from='',$to='')

  {

  if( strtoupper
  编码转换这段代码是ThinkPHP框架中的,感觉很常用php编码,所以单独拎出来,大家共同学习一下。
 
  function auto_charset($fContents,$from='',$to='')
 
  {
 
  if( strtoupper($from) === strtoupper($to) || empty($fContents) || (is_scalar($fContents) && !is_string($fContents)) ){
 
  //如果编码相同或者非字符串标量则不转换
 
  return $fContents;
 
  }
 
  $from = strtoupper($from)=='UTF8'? 'utf-8':$from;
 
  $to= strtoupper($to)=='UTF8'? 'utf-8':$to;
 
  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{
 
  exit('转换失败');
 
  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;
 
  }
 
  elseif(is_object($fContents)) {
 
  $vars = get_object_vars($fContents);
 
  foreach($vars as $key=>$val) {
 
  $fContents->$key = auto_charset($val,$from,$to);
 
  }
 
  return $fContents;
 
  }
 
  else{
 
  return $fContents;
 
  }
 
  }
 

(编辑:PHP编程网 - 钦州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!