PHP将uncode转utf8,一行代码解决问题


在很多场合能看到unicode编码过的文字,如“\u6d3b\u52a8\u63a5\u53e3”,虽然程序会认识,但人眼无法阅读,很不方便,网络上很多人写了很多的转换函数,但是一个比一个臃肿,终于发现用一行PHP代码解决的方案:

$str  = '{"success":true,"msg":"\u6d3b\u52a8\u63a5\u53e3"}';
echo $str= preg_replace("#\\\u([0-9a-f]+)#ie","iconv('UCS-2','UTF-8', pack('H4', '\\1'))",$str);

已经无法找到这行代码的原始出处,PHP原生的函数很多功能很强大,但很少人能运用好,真是遗憾。


如果服务端是自己写的,听说php5.4版本以上还可以用以下办法解决:

echo json_encode("汉字", JSON_UNESCAPED_UNICODE);  

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM