gbk转utf-8函数出错解决办法

我们在日常写作代码的时代经常要用到gbk转utf-8的函数。

这个是我一直在使用的函数:

/**
 * 将含有GBK的中文数组转为utf-8
 *
 * @param array $arr   数组
 * @param string $in_charset 原字符串编码
 * @param string $out_charset 输出的字符串编码
 * @return array
 */
public static function array_iconv($arr, $in_charset="gbk", $out_charset="utf-8")
{
 $ret = eval('return '.iconv($in_charset,$out_charset,var_export($arr,true).';'));
 return $ret;
}

在实际使用的时候调用这个函数:

self::array_iconv($description, "gbk", "utf-8")

但是有时候在转换的过程中由于内容比较复杂会出现错误:

Warning: Unexpected character in input: ''' (ASCII=39) state=1

Parse error: syntax error, unexpected T_STRING in

解决这个办法其实很简单,只要在调用这个函数的时候加上//IGNORE就可以了:

self::array_iconv($description, "gbk", "utf-8//IGNORE")

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值