php 处理unicode解码

备忘:这个算是解码比较靠谱的,亲测。参考自stackoverflow,mark 分享

// change unicode to unt-8
function replace_unicode_escape_sequence($match) {
    return mb_convert_encoding(pack('H*', $match[1]), 'UTF-8', 'UCS-2BE');
}

function unicode_decode($str) {
 return preg_replace_callback('/u([0-9a-f]{4})/i', 'replace_unicode_escape_sequence', $str); 
}

$str = unicode_decode('{"u5173u952eu8bcd":[{"","key":"u767eu5ea6"}]}');

问题:使用过程中,遇到一个问题:就是当多次调用改函数的时候,出现错误。原因在于函数名方式调用问题。

如果编码是 \u5173\u952e\u8bcd 正则改为/\u([0-9a-f]{4})/i 即可
个人小站原文链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值