Merge pull request #1866 from ymage/dev

Fix UTF-8 encoding before JSON export
This commit is contained in:
Thomas Citharel 2016-04-15 13:29:53 +02:00
commit 729c89aec4
2 changed files with 22 additions and 1 deletions

View file

@ -908,7 +908,7 @@ class Poche
$entries = $this->store->retrieveAllWithTags($this->user->getId());
if ($entries) {
echo $this->tpl->render('export.twig', array(
'export' => Tools::renderJson($entries),
'export' => Tools::renderJson(Tools::utf8ize($entries)),
));
Tools::logm('export view');
} else {

View file

@ -232,6 +232,27 @@ final class Tools
exit();
}
/**
* UTF-8 encode array of string
*
* @param $data
*/
public static function utf8ize($data)
{
if (is_array($data))
{
foreach ($data as $k => $v)
{
$data[$k] = self::utf8ize($v);
}
}
else if (is_string ($data) && '' == mb_detect_encoding($data))
{
return utf8_encode($data);
}
return $data;
}
/**
* Create new line in log file
*