Support

Account

Home Forums Backend Issues (wp-admin) JSON_ERROR_UTF8 with Post Object Field Reply To: JSON_ERROR_UTF8 with Post Object Field

  • Hi @marcaddeo,

    Thanks for the post.

    This issue seems evident in v 5.5 of PHP.

    Because json_encode() only deals with utf8, it is often necessary to convert all the string values inside an array to utf8.

    You can always make use of these functions to do the conversion:

    <?php 
    function utf8_encode_all($dat) // -- It returns $dat encoded to UTF8 
    { 
      if (is_string($dat)) return utf8_encode($dat); 
      if (!is_array($dat)) return $dat; 
      $ret = array(); 
      foreach($dat as $i=>$d) $ret[$i] = utf8_encode_all($d); 
      return $ret; 
    } 
    /* ....... */ 
    
    function utf8_decode_all($dat) // -- It returns $dat decoded from UTF8 
    { 
      if (is_string($dat)) return utf8_decode($dat); 
      if (!is_array($dat)) return $dat; 
      $ret = array(); 
      foreach($dat as $i=>$d) $ret[$i] = utf8_decode_all($d); 
      return $ret; 
    } 
    /* ....... */ 
    ?>