php数组编码的转换方式的例子

第一种方式

$data = eval(‘return ‘.iconv(‘gbk’,’utf-8′,var_export($data,true)).';’);
在这里var_export函数可以输出或返回一个变量的字符串表示。此函数返回关于传递给该函数的变量的结构信息,它和 var_dump()
类似,不同的是其返回的表示是合法的 PHP 代码。
可以通过将函数的第二个参数设置为 TRUE,从而返回变量的表示。
下面就利用这一特性将数组转化为字符串然后再iconv接着再用eval函数将其还原为数组。这次结果正确显示了。

第二种方式

< ?php
class arrayiconv
{
static protected $in;
static protected $out;
/**
* 静态方法,该方法输入数组并返回数组
*
* @param unknown_type $array 输入的数组
* @param unknown_type $in 输入数组的编码
* @param unknown_type $out 返回数组的编码
* @return unknown 返回的数组
*/
static public function Conversion($array,$in,$out)
{
self::$in=$in;
self::$out=$out;
return self::arraymyicov($array);
}
/**
* 内部方法,循环数组
*
* @param unknown_type $array
* @return unknown
*/
static private function arraymyicov($array)
{
foreach ($array as $key=>$value)
{
$key=self::myiconv($key);
if (!is_array($value)) {
$value=self::myiconv($value);
}else {
$value=self::arraymyicov($value);
}
$temparray[$key]=$value;
}
return $temparray;
}
/**
* 替换数组编码
*
* @param unknown_type $str
* @return unknown
*/
static private function myiconv($str)
{
return iconv(self::$in,self::$out,$str);
}
}
$b=array(“测试”=>array(“测试”=>”测试”,”测试”=>”测试”,”测试”=>array(“测试”=>”测试”)),”fasdf”=>”测试”,”测试”=>”测试 “);
$a =arrayiconv::Conversion($b,”utf-8″,”gb2312″);
print_r($a);
?>

时间: 2024-08-03 15:40:01

php数组编码的转换方式的例子的相关文章

PHP数组编码转换实例演示

  用构建数组原型的序列化方法,借助var_export函数,最终函数如下:  代码如下   function array_iconv($in_charset,$out_charset,$arr){ return eval('return '.iconv($in_charset,$out_charset,var_export($arr,true).';')); } 原理很简单 var_export设置第二个参数为true,返回数组原型字符串,将字符串转换为utf-8编码,之后再用eval来执行返

PHP数组编码gbk与utf8互相转换的两种方法_php技巧

一.利用var_export(), eval()方法 /** * 将含有GBK的中文数组转为utf-8 * * @param array $arr 数组 * @param string $in_charset 原字符串编码 * @param string $out_charset 输出的字符串编码 * @return array */ function array_iconv($arr, $in_charset="gbk", $out_charset="utf-8"

utf 8-unicode utf8 multi-byte 选择和转换方式

问题描述 unicode utf8 multi-byte 选择和转换方式 windows平台 multi-byte转换成utf8 只能先转换unicode然后转换utf-8? windows服务器程序和sql server数据库连接客户端使用cocos2d. 如果服务器选择unicode.那么客户端(cocos2d)必须就要转换一次.因为cocos2d使用utf-8 如果服务器选择utf-8和sqlserver数据库交互的时候又有问题...请教下有经验的大大服务器应该选择哪一种编码更合适呢!?

JavaScript中字符串与Unicode编码互相转换的实现方法_javascript技巧

本文实例讲述了JavaScript中字符串与Unicode编码互相转换的实现方法.分享给大家供大家参考,具体如下: 这段代码演示了JavaScript中字符串与Unicode编码的转换: // 为了控制台的演示方便, 变量没有添加 var 定义 // 实际编程中请避免 // 字符串 str = "中文"; // 获取字符 char0 = str.charAt(0); // "中" // 数字编码值 code = str.charCodeAt(0); // 20013

asp采集数据并自动判断网页编码并转换

在做采集的朋友就会知道经常会碰到采集过来的内容是乱码,下面我们就来看一篇关于asp教程采集数据并自动判断网页编码并转换吧. <%@LANGUAGE="JAVASCRIPT" CODEPAGE="65001"%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <

用dreamweaver将gb2312转utf8编码互相转换的图文教程

  UTF-8是UTF-8编码是一种目前广泛应用于网页的编码,它其实是一种Unicode编码,即致力于把全球所有语言纳入一个统一的编码.前UTF-8已经把几种重要的亚洲语言纳入,包括简繁中文和日韩文字.所以在制作某些网站时,需要使用UTF-8,那么怎么把gb2312编码转换到utf-8编码呢?在dreamweaver里只需要一步即可实现. 找到菜单的修改--页面属性--标题和编码,在编码列表中选择UTF-8后确定即可. Unicode签名bom 问题可以参考下一篇文章 Tag:gb2312转ut

Jquery时间验证和转换工具小例子

这篇文章介绍了Jquery时间验证和转换工具小例子,有需要的朋友可以参考一下   复制代码 代码如下: var TimeObjectUtil; /** * @title 时间工具类 * @note 本类一律违规验证返回false * @author {boonyachengdu@gmail.com} * @date 2013-07-01 * @formatter "2013-07-01 00:00:00" , "2013-07-01" */ TimeObjectUt

Windows系统不同文件格式间的转换方式汇总

  PDF.WORD.PPT.TXT,不同格式的文件是不是弄得你眼花缭乱?如何巧妙地将它们相互转换?你不会还在键盘上傻傻地一个字一个字敲吧?教你不同文件格式间的转换方式,轻松几键便能大功告成.职场之上,你一定用得到!

nfc-Android下NFC卡模拟方式的例子代码

问题描述 Android下NFC卡模拟方式的例子代码 谁能给一个Android(4.0以上)下NFC软件卡模拟方式的例子代码?另外,卡模拟方式对手机配置有要求吗? 解决方案 android 网络请求方式 例子 解决方案二: 首先手机必须有NFC模块,现在支持NFC的手机并不多.另外NFC的编程这篇博客希望有帮助http://blog.csdn.net/ada_dengpan/article/details/50700557 解决方案三: http://www.jikexueyuan.com/co