The solution of PHP json_encode Chinese gibber problem

  • 2020-08-22 21:56:21
  • OfStack

The following PHP code solves the following problems:
1.json_encode UTF8 Chinese character string is not readable
2.json_encode multilevel array Chinese gibber problem
3. The json_encode array contains a newline error
4. The key in json_encode array is Chinese

function _encode($arr)
{
  $na = array();
  foreach ( $arr as $k => $value ) {  
    $na[_urlencode($k)] = _urlencode ($value);  
  }
  return addcslashes(urldecode(json_encode($na)),"\\r\\n");
}

function _urlencode($elem)
{
  if(is_array($elem)){
    foreach($elem as $k=>$v){
      $na[_urlencode($k)] = _urlencode($v);
    }
    return $na;
  }
  return urlencode($elem);
}

Related articles: