diff options
author | Thomas Citharel <tcit@tcit.fr> | 2016-04-15 13:29:53 +0200 |
---|---|---|
committer | Thomas Citharel <tcit@tcit.fr> | 2016-04-15 13:29:53 +0200 |
commit | 729c89aec41c7f53411deb43389e2b775a29d073 (patch) | |
tree | 3fd2b8f4553a3ba3e7820b864a9a722fc3064f1c /inc/poche | |
parent | 04ffc7fb11f9e98991ee5bc0511ce5d96a7755c7 (diff) | |
parent | af8b3b649e9956fe15c98298faf6755c29edcf77 (diff) | |
download | wallabag-729c89aec41c7f53411deb43389e2b775a29d073.tar.gz wallabag-729c89aec41c7f53411deb43389e2b775a29d073.tar.zst wallabag-729c89aec41c7f53411deb43389e2b775a29d073.zip |
Merge pull request #1866 from ymage/dev
Fix UTF-8 encoding before JSON export
Diffstat (limited to 'inc/poche')
-rwxr-xr-x | inc/poche/Poche.class.php | 2 | ||||
-rwxr-xr-x | inc/poche/Tools.class.php | 21 |
2 files changed, 22 insertions, 1 deletions
diff --git a/inc/poche/Poche.class.php b/inc/poche/Poche.class.php index 400857b4..1476d158 100755 --- a/inc/poche/Poche.class.php +++ b/inc/poche/Poche.class.php | |||
@@ -908,7 +908,7 @@ class Poche | |||
908 | $entries = $this->store->retrieveAllWithTags($this->user->getId()); | 908 | $entries = $this->store->retrieveAllWithTags($this->user->getId()); |
909 | if ($entries) { | 909 | if ($entries) { |
910 | echo $this->tpl->render('export.twig', array( | 910 | echo $this->tpl->render('export.twig', array( |
911 | 'export' => Tools::renderJson($entries), | 911 | 'export' => Tools::renderJson(Tools::utf8ize($entries)), |
912 | )); | 912 | )); |
913 | Tools::logm('export view'); | 913 | Tools::logm('export view'); |
914 | } else { | 914 | } else { |
diff --git a/inc/poche/Tools.class.php b/inc/poche/Tools.class.php index e5e150cd..263034f0 100755 --- a/inc/poche/Tools.class.php +++ b/inc/poche/Tools.class.php | |||
@@ -233,6 +233,27 @@ final class Tools | |||
233 | } | 233 | } |
234 | 234 | ||
235 | /** | 235 | /** |
236 | * UTF-8 encode array of string | ||
237 | * | ||
238 | * @param $data | ||
239 | */ | ||
240 | public static function utf8ize($data) | ||
241 | { | ||
242 | if (is_array($data)) | ||
243 | { | ||
244 | foreach ($data as $k => $v) | ||
245 | { | ||
246 | $data[$k] = self::utf8ize($v); | ||
247 | } | ||
248 | } | ||
249 | else if (is_string ($data) && '' == mb_detect_encoding($data)) | ||
250 | { | ||
251 | return utf8_encode($data); | ||
252 | } | ||
253 | return $data; | ||
254 | } | ||
255 | |||
256 | /** | ||
236 | * Create new line in log file | 257 | * Create new line in log file |
237 | * | 258 | * |
238 | * @param $message | 259 | * @param $message |