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

yipeiwu_com5年前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程序设计有所帮助。

相关文章

使用cookie实现统计访问者登陆次数

复制代码 代码如下:<?php$_COOKIE["counter"]?($c=$_COOKIE["counter"]+1):($c=1);setCookie("counter",$...

php 文件状态缓存带来的问题

stat(),lstat(),file_exists(),is_writable(),is_readable(),is_executable(),is_file(),is_dir(),i...

PHP 应用容器化以及部署方法

PHP 应用容器化以及部署方法

PHP 是世界上最好的语言。 经典的 LNMP(linux + nginx + php + mysql)环境有很多现成的部署脚本,但是在 Docker 盛行的今天,依然有很多同学在如何...

浅析PHP原理之变量分离/引用(Variables Separation)

首先我们回顾一下zval的结构:复制代码 代码如下:struct _zval_struct {       &nbs...

PHP闭包函数详解

匿名函数也叫闭包函数(closures允许创建一个没有指定没成的函数,最经常用作回调函数参数的值。 闭包函数没有函数名称,直接在function()传入变量即可 使用时将定义的变量当作函...