php中对数组进行转码,php实现转码的方式(支持数组类型转码)
由于将Array转换为json的json_encode()方法仅能将utf-8字符集进行转换,不是utf-8格式的中文字符会变成null,需要对Array中的字符进行统一转码,但是iconv()方法只能转换字符串类型编码,网上找到如下方法可以统一解决string类型和Array类型的转码问题
function auto_charset($fContents, $from=‘gbk‘, $to=‘utf-8‘) {
$from = strtoupper($from) == ‘UTF8‘ ? ‘utf-8‘ : $from;
$to = strtoupper($to) == ‘UTF8‘ ? ‘utf-8‘ : $to;
if (strtoupper($from) === strtoupper($to) || empty($fContents) || (is_scalar($fContents) && !is_string($fContents))) {
return $fContents;
}
if (is_string($fContents)) {
if (function_exists(‘mb_convert_encoding‘)) {
return mb_convert_encoding($fContents, $to, $from);
} else if (function_exists(‘iconv‘)) {
return iconv($from, $to, $fContents);
} else {
return $fContents;
}
} else if (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;
}
else {
return $fContents;
}
}
原文:http://www.cnblogs.com/yxzzj/p/5871074.html
php中对数组进行转码,php实现转码的方式(支持数组类型转码)相关推荐
- #UML# Astah+Doxygen 将C++源码映射为类图内成员只支持基本类型不支持自定义类型
根据上篇文章#UML# Astah+Doxygen 将C++源码映射为类图,我们可以很轻松的将源码自动映射成类图, 然而在实际过程中,会发现生成的类图中,成员变量经常会有丢失的现象. 只支持基本类型不 ...
- 细说PHP笔记03(第7章)--数组与数据结构,数组定义,数组遍历,数组内部指针遍历,键值操作函数,统计数组函数,回调函数处理数组元素,数组排序,拆分、合并、分解、结合数组,数组实现堆栈,随机选取元素
1.数组 索引数组:索引值是整数 关联数组:索引值是字符串 2.数组的定义 1.以直接赋值的方式声明 $数组名[下标]=资料内容 或 $数组名[关联字符串(键值)]=资料内容 <?php $va ...
- 虚拟商品帐号交易平台源码_支持个人二维码收款
精仿淘手游马上有号账号交易平台源码支持个人二维码收款,安装非常简单,支持个人二维码收款,可以运营精仿马上有号账号交易平台源码 支持个人二维码收款 安装教程: PHP版本一定要选择5.2 1.先修改配置 ...
- c++byte数组和文件的相互转换_5分钟系列之Java类文件结构(三、字节码指令简介)...
字节码指令简介1字节码与数据类型2加载和存储指令3运算指令4类型转换指令5对象创建与访问指令6操作数栈管理指令7 控制转移指令8方法调用和返回指令9异常处理指令10同步指令公有设计和私有实现Class ...
- 指针数组下标JAVA_Java语言中可用下标和指针两种方式表示数组元素。
[判断题]一行可以写多条预处理命令 [判断题]如果一个java程序中有多个类,编译后只生成一个字节码文件,其名字同主类名一致. [判断题]Protected类型的实例变量只能在本类中使用,其他类中不可 ...
- iOS中你可能没有完全弄清楚的(二)自己实现一个KVO源码及解析
前几天写了一篇blog(点这里),分析了系统KVO可能的实现方式.并添加了简单代码验证. 既然系统KVO不好用,我们完全可以根据之前的思路,再造一个可以在项目中使用的KVO的轮子. 代码已经上传到gi ...
- python返回unicode_Python 中通过 unicode 码返回单字符的函数是 ,返回单字符 unicode 码的函数是 。_学小易找答案...
[单选题]哪一个命令能用来查找在文件TESTFILE中只包含四个字符的行?( ) [单选题]修改以太网卡mac地址的命令为( ). [单选题]Python 字符串支持切片操作,如有字符串 s &quo ...
- 将一个数组中的字符串用指定字符分割开,分别放到另一个数组中
#include "stdafx.h" #include <stdio.h> #include <string.h> #pragma warning(dis ...
- JavaScript实现以数组形式返回斐波那契数列fibonacci算法(附完整源码)
JavaScript实现以数组形式返回斐波那契数列fibonacci算法(附完整源码) fibonacci.js完整源代码 fibonacci.js完整源代码 export default funct ...
- C语言学习之将一个二维数组的行和列互换,存到另一个二维数组中
C语言学习之将一个二维数组的行和列互换,存到另一个二维数组中 #include <stdio.h> int main(){int a[2][3]={{1,2,3},{4,5,6}}; // ...
最新文章
- 正弦信号有效值 c语言,推导正弦波正弦量、平均值、有效值基本公式
- 历届试题 快速排序:
- MySQL存储引擎、MyISAM、InnoDB
- 企业私有云部署im,视频服务
- Intellij Idea的使用之svn篇
- 搜索引擎广告计费系统如何防恶意点击
- mysql使用中文报错,hibernate mysql 插入中文错误
- python编程思维代码_Python编程快速上手——强口令检测算法案例分析
- css focus 选择器用于选取获得焦点的元素
- nginx 超时设置_Nginx最详细的反向代理配置步骤,拿去不谢
- SQL Server从入门到精通(二)
- foobar2000的使用
- 如何使用phpDesigner 编写一个表格
- java编程语言怎么学习,详细说明
- 新猿木子李:0基础学python培训教程 Python操作Excel之格式转换
- 用VS2010打开VS2013、VS2015、VS2017等高版本项目
- 检测xposed框架实现
- 海外试玩推广渠道汇总
- 错误:Unfortunately you can‘t have non-Gradle Java modules and Android-Gradle modules in one project.
- The server quit without updating PID file 的解决
热门文章
- 2017java面试_2017 Java面试大全(一)
- linux一次性密码确保ssh登录安全,使用 SSH 时确保 EC2 Linux 实例安全的最佳实践
- python编写自动化脚本工具_Python自动化构建工具scons使用入门笔记
- Bootstrap下拉菜单相关
- 前端基础进阶之Promise
- linux下keepalived+nginx的负载均衡搭建
- 浅读《构建之法:现代软件工程》有感
- asp.net页面中Menu控件下拉菜单被frame挡住和iframe自适应高度的解决办法
- mysql多数据源事务_springboot项目多数据源及其事务
- mysql 统计本月的_MySql查询当天、本周、本月、本季度、本年的数据