From 5bac6cd843d7a8da85bb5e462943407f173eeb26 Mon Sep 17 00:00:00 2001 From: Dave Mc Nicoll Date: Mon, 10 Oct 2022 15:27:54 +0000 Subject: [PATCH] - Rencoding UTF-8 to manage problematics strings in data to encode --- src/Extension/JsonExtension.php | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/src/Extension/JsonExtension.php b/src/Extension/JsonExtension.php index 68c9307..260dc2a 100644 --- a/src/Extension/JsonExtension.php +++ b/src/Extension/JsonExtension.php @@ -23,16 +23,32 @@ class JsonExtension implements Extension, FunctionExtension { return "flags}), ENT_QUOTES, 'UTF-8') ?>"; } - return ""; + $cls = static::class; + + return ""; } public function exportFunctions(): array { return [ 'json' => function($arguments, ? int $flags = null) { - return json_encode($arguments, \JSON_FORCE_OBJECT); + return json_encode($arguments, \JSON_FORCE_OBJECT); }, ]; } + public static function utf8($src) { + + if (is_array($src)) { + foreach ($src as $key => $value) { + $src[$key] = static::utf8($value); + } + } + elseif (is_string($src)) { + return mb_convert_encoding($src, "UTF-8", "UTF-8"); + } + + return $src; + } + }