浅析PHP中的字符串编码转换(自动识别原编码)

  

复制代码 代码如下:

  /**

  * 对数据进行编码转换

  * @param array/string $data       数组

  * @param string $output    转换后的编码

  */

  function array_iconv($data,$output = 'utf-8') {

  $encode_arr = array('UTF-8','ASCII','GBK','GB2312','BIG5','JIS','eucjp-win','sjis-win','EUC-JP');

  $encoded = mb_detect_encoding($data, $encode_arr);//自动判断编码

  if (!is_array($data)) {

  return mb_convert_encoding($data, $output, $encoded);

  }

  else {

  foreach ($data as $key=>$val) {

  if(is_array($val)) {

  $data[$key] = array_iconv($val, $input, $output);

  } else {

  $data[$key] = mb_convert_encoding($data, $output, $encoded);

  }

  }

  return $data;

  }

  }