PHPにおける文字列符号化変換の浅い分析(元の符号化を自動認識)

855 ワード

 
  
/**
 *
 * @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;
 }
}