php json与数组互转支持中文

在php5中为我提供了两个函数,json_encode和json_decode可以实现json与数组互转了,但在中文上可以支持不好,下面介绍一个经过处理支持中文数组与json互转函数,代码如下:

  1. <?php
  2. /**
  3. * json 生成,分析 支持中文
  4. */
  5. class Json_Helper {
  6. /**
  7. * 生成json
  8. */
  9. public static function encode($str){
  10. $json = json_encode($str);
  11. //linux
  12. return preg_replace("#\u([0-9a-f]{4})#ie", "iconv('UCS-2BE', 'UTF-8', pack('H4', '\1'))", $json);
  13. //windows
  14. //return preg_replace("#\u([0-9a-f]{4})#ie", "iconv('UCS-2LE', 'UTF-8', pack('H4', '\1'))", $json);
  15. }
  16. /**
  17. * 分析json
  18. */
  19. public static function decode($str) {
  20. return json_decode($str);
  21. }
  22. }
  23. ?>