From 2b1d887071cec5978d85e125a1313a15fc5286a5 Mon Sep 17 00:00:00 2001 From: Alexander <2silkworm@gmail.com> Date: Tue, 5 May 2015 02:21:18 +0300 Subject: [PATCH] encode multibyte Unicode characters unescaped + don't escape slashes, if supported --- wire/modules/LanguageSupport/LanguageTranslator.php | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/wire/modules/LanguageSupport/LanguageTranslator.php b/wire/modules/LanguageSupport/LanguageTranslator.php index 7ed4281f..d36744c3 100644 --- a/wire/modules/LanguageSupport/LanguageTranslator.php +++ b/wire/modules/LanguageSupport/LanguageTranslator.php @@ -464,11 +464,14 @@ public function getTextdomain($textdomain) { * */ public function encodeJSON($str) { - if(defined("JSON_PRETTY_PRINT")) { - return json_encode($str, JSON_PRETTY_PRINT); - } else { - return json_encode($str); - } + $options = 0; + if(defined("JSON_PRETTY_PRINT")) $options = $options | JSON_PRETTY_PRINT; + // encode multibyte Unicode characters unescaped + if(defined("JSON_UNESCAPED_UNICODE")) $options = $options | JSON_UNESCAPED_UNICODE; + // don't escape slashes + if(defined("JSON_UNESCAPED_SLASHES")) $options = $options | JSON_UNESCAPED_SLASHES; + + return json_encode($str, $options); } }