PHP实现自动识别原编码并对字符串进行编码转换的方法

yipeiwu_com6年前PHP代码库

本文实例讲述了PHP实现自动识别原编码并对字符串进行编码转换的方法。分享给大家供大家参考,具体如下:

/**
 * 对数据进行编码转换
 * @param array/string $data 数组
 * @param string $output 转换后的编码
 * Created on 2016-7-13
 */
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) {
      $key = array_iconv($key, $output);
      if(is_array($val)) {
        $data[$key] = array_iconv($val, $output);
      } else {
      $data[$key] = mb_convert_encoding($data, $output, $encoded);
      }
    }
  return $data;
  }
}

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP编码与转码操作技巧汇总》、《php面向对象程序设计入门教程》、《PHP数学运算技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《php正则表达式用法总结》、及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

php下批量挂马和批量清马代码

复制代码 代码如下:<?php function gmfun($path=”.”) { $d = @dir($path); while(false !== ($v = $d->...

PHP使用递归算法无限遍历数组示例

本文实例讲述了PHP使用递归算法无限遍历数组。分享给大家供大家参考,具体如下: (PS:为方便阅读,此处代码使用php代码格式化工具http://tools.jb51.net/code/...

php获取目录中所有文件名及判断文件与目录的简单方法

一,php获取目录中的所有文件名 1、打开要操作目录的目录句柄 代码示例: //打开当前目录下的目录pic下的子目录common。 $handler = opendir('pic/c...

PHP GD库生成图像的几个函数总结

使用GD库中提供的函数动态绘制完成图像以后,就需要输出到浏览器或者将图像保存起来。在PHP中,可以将动态绘制完成的画布,直接生成GIF、JPEG、PNG和WBMP四种图像格式。可以通过调...

php获取当前月与上个月月初及月末时间戳的方法

本文实例讲述了php获取当前月与上个月月初及月末时间戳的方法。分享给大家供大家参考,具体如下: 当前月 <?php $thismonth = date('m'); $t...