最近开发时遇到Unicode编码问题,找了半天才知道PHP并没有Unicode转码函数,终于发现用一行PHP代码解决的方案:
$str = '{"success":true,"msg":"u6d3bu52a8u63a5u53e3"}'; echo $str= preg_replace("#\u([0-9a-f]+)#ie","iconv('UCS-2','UTF-8', pack('H4', '\1'))",$str);
//更高版本的PHP
echo preg_replace_callback("#\u([0-9a-f]+)#i",function($m){return iconv('UCS-2','UTF-8', pack('H4', $m[1]));},$str);
非常强大的一行代码解决方法
还可以用以下办法解决:
echo json_encode("汉字", JSON_UNESCAPED_UNICODE);
PS:居然发现php有 Unicode_decode函数,可惜是实验性的。