If a Post has unicode in it’s title the Post Object field will break when trying to json_encode the data.
Spent a while trying to figure out why my posts wouldn’t show up 🙂 That’s why!
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;
}
/* ....... */
?>