当前位置:Gxlcms > PHP教程 > 问各位老大一个简单的有关问题,怎么转换数组的字符集

问各位老大一个简单的有关问题,怎么转换数组的字符集

时间:2021-07-01 10:21:17 帮助过:22人阅读

问各位老大一个简单的问题, 如何转换数组的字符集?
对于字符串, 有mb_convert_encoding()函数.

可是对于一个数组呢? 难道要循环着用这个函数吗:

array_map(
function($value) use($from, $to) {return mb_convert_encoding($value, $from, $to);},
$input
);


这样会产生效率问题, 如果一个大数据, 就弱爆了.
能不能一次处理,有这样的内置函数吗?或者其他的解决方案?

分享到:


------解决方案--------------------
array_walk、array_walk_recursive
但也只是把循环弄到内部去了
但总还是要比你递归的循环来的快
你光 array_map 是不行的!要是多维数组就无能为力了
也可以用迭代器

其实字符集只是在输入输出时才会有转换的要求
输入(比如读数据库),mysql 会给你需要的字符集,不需要自己转换
输出 可透过 ob_start 完成
mb_internal_encoding("gbk");  // 假定你的程序是gbk的 
mb_http_output("utf-8"); // 要
输出成 utf-8 的
ob_start('mb_output_handler'); // 只需这样就可以了其后输出的内容就全部变成 utf-8 的了

人气教程排行