• json_encode处理json数据中文乱码


    今天使用json_encode 把一个数组转换成json数据,echo处理的时候,显示为null。去查了php手册。

     该函数只能接受 UTF-8 编码的数据。

    在网上搜了下,找到了解决方法。

     1 <?php
     2 
     3     /**************************************************************
     4      *
     5      *  使用特定function对数组中所有元素做处理
     6      *  @param  string  &$array     要处理的字符串
     7      *  @param  string  $function   要执行的函数
     8      *  @return boolean $apply_to_keys_also     是否也应用到key上
     9      *  @access public
    10      *
    11      *************************************************************/
    12     function arrayRecursive(&$array, $function, $apply_to_keys_also = false)
    13     {
    14         static $recursive_counter = 0;
    15         if (++$recursive_counter > 1000) {
    16             die('possible deep recursion attack');
    17         }
    18         foreach ($array as $key => $value) {
    19             if (is_array($value)) {
    20                 arrayRecursive($array[$key], $function, $apply_to_keys_also);
    21             } else {
    22             $array[$key] = $function($value);
    23             }
    24       
    25             if ($apply_to_keys_also && is_string($key)) {
    26                 $new_key = $function($key);
    27                 if ($new_key != $key) {
    28                     $array[$new_key] = $array[$key];
    29                     unset($array[$key]);
    30                 }
    31             }
    32     }
    33         $recursive_counter--;
    34     }
    35       
    36     /**************************************************************
    37      *
    38      *  将数组转换为JSON字符串(兼容中文)
    39      *  @param  array   $array      要转换的数组
    40      *  @access public
    41      *
    42      *************************************************************/
    43     function JSON($array) {
    44         arrayRecursive($array, 'urlencode', true);
    45         $json = json_encode($array);
    46         return urldecode($json);
    47     }
    48 
    49 //使用方法 echo JSON($array);
  • 相关阅读:
    域环境的搭建 (超级详细)
    sqli-labs(10)
    sqli-labs(9)
    mysql源码安装(5.1)
    查看mysql apache php nginx的编译参数
    LAMP的安装
    Mysql的安装(二进制免编译包) 5.1版本
    更改yum网易 阿里云的yum源。
    yum安裝的包如何保留到本地
    磁盘分区
  • 原文地址:https://www.cnblogs.com/tl542475736/p/3551539.html
Copyright © 2020-2023  润新知