php数组编码转换函数

场景说明/问题描述:
Ajax提交页面编码为gb2312,数据库编码为utf8,在不更改页面及数据库编码的情况下插入数据。

自定义函数:

  1. function array_iconv($in_charset,$out_charset,$arr){      
  2.         return eval('return '.iconv($in_charset,$out_charset,var_export($arr,true).';'));      
  3. }    


函数说明:
var_export设置第二个参数为true,返回数组原型字符串,将字符串转换为utf-8编码,之后再用eval来执行返回。

范例:

  1. $postdata = $_POST;  
  2. $data = array_iconv('gb2312','utf-8',$postdata)  
  3. print_r($data);  


借助Firefox firebug组件我们可以看到:
点击在新窗口中浏览此图片

再看下数据库:
点击在新窗口中浏览此图片
可以看到编码已经正常且入库成功。

相关文章

此处评论已关闭