diff --git a/inc/poche/Poche.class.php b/inc/poche/Poche.class.php index 400857b49..1476d158a 100755 --- a/inc/poche/Poche.class.php +++ b/inc/poche/Poche.class.php @@ -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 { diff --git a/inc/poche/Tools.class.php b/inc/poche/Tools.class.php index e5e150cdb..263034f07 100755 --- a/inc/poche/Tools.class.php +++ b/inc/poche/Tools.class.php @@ -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 *