From 27dc1b2ef734cf4077321886dcbb6d9efbf6b81b Mon Sep 17 00:00:00 2001 From: erikn69 Date: Fri, 22 Jul 2022 07:23:53 -0500 Subject: [PATCH] Fix utf8_encode deprecation (#1722) --- src/Monolog/Handler/ChromePHPHandler.php | 6 +++--- src/Monolog/Utils.php | 2 +- tests/Monolog/Handler/ChromePHPHandlerTest.php | 12 ++++++------ 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/Monolog/Handler/ChromePHPHandler.php b/src/Monolog/Handler/ChromePHPHandler.php index d1a98b8f..234ecf61 100644 --- a/src/Monolog/Handler/ChromePHPHandler.php +++ b/src/Monolog/Handler/ChromePHPHandler.php @@ -149,7 +149,7 @@ class ChromePHPHandler extends AbstractProcessingHandler } $json = Utils::jsonEncode(self::$json, Utils::DEFAULT_JSON_FLAGS & ~JSON_UNESCAPED_UNICODE, true); - $data = base64_encode(utf8_encode($json)); + $data = base64_encode($json); if (strlen($data) > 3 * 1024) { self::$overflowed = true; @@ -163,8 +163,8 @@ class ChromePHPHandler extends AbstractProcessingHandler 'extra' => [], ]; self::$json['rows'][count(self::$json['rows']) - 1] = $this->getFormatter()->format($record); - $json = Utils::jsonEncode(self::$json, null, true); - $data = base64_encode(utf8_encode($json)); + $json = Utils::jsonEncode(self::$json, Utils::DEFAULT_JSON_FLAGS & ~JSON_UNESCAPED_UNICODE, true); + $data = base64_encode($json); } if (trim($data) !== '') { diff --git a/src/Monolog/Utils.php b/src/Monolog/Utils.php index 726c9819..360c4219 100644 --- a/src/Monolog/Utils.php +++ b/src/Monolog/Utils.php @@ -211,7 +211,7 @@ final class Utils $data = preg_replace_callback( '/[\x80-\xFF]+/', function ($m) { - return utf8_encode($m[0]); + return function_exists('mb_convert_encoding') ? mb_convert_encoding($m[0], 'UTF-8', 'ISO-8859-1') : utf8_encode($m[0]); }, $data ); diff --git a/tests/Monolog/Handler/ChromePHPHandlerTest.php b/tests/Monolog/Handler/ChromePHPHandlerTest.php index 1ee58195..cf13dd89 100644 --- a/tests/Monolog/Handler/ChromePHPHandlerTest.php +++ b/tests/Monolog/Handler/ChromePHPHandlerTest.php @@ -38,7 +38,7 @@ class ChromePHPHandlerTest extends TestCase $handler->handle($this->getRecord(Logger::WARNING)); $expected = [ - 'X-ChromeLogger-Data' => base64_encode(utf8_encode(json_encode([ + 'X-ChromeLogger-Data' => base64_encode(json_encode([ 'version' => '4.0', 'columns' => ['label', 'log', 'backtrace', 'type'], 'rows' => [ @@ -46,7 +46,7 @@ class ChromePHPHandlerTest extends TestCase 'test', ], 'request_uri' => '', - ]))), + ])), ]; $this->assertEquals($expected, $handler->getHeaders()); @@ -72,7 +72,7 @@ class ChromePHPHandlerTest extends TestCase $handler->handle($this->getRecord(Logger::WARNING, str_repeat('b', 2 * 1024))); $expected = [ - 'X-ChromeLogger-Data' => base64_encode(utf8_encode(json_encode([ + 'X-ChromeLogger-Data' => base64_encode(json_encode([ 'version' => '4.0', 'columns' => ['label', 'log', 'backtrace', 'type'], 'rows' => [ @@ -96,7 +96,7 @@ class ChromePHPHandlerTest extends TestCase ], ], 'request_uri' => '', - ]))), + ])), ]; $this->assertEquals($expected, $handler->getHeaders()); @@ -115,7 +115,7 @@ class ChromePHPHandlerTest extends TestCase $handler2->handle($this->getRecord(Logger::WARNING)); $expected = [ - 'X-ChromeLogger-Data' => base64_encode(utf8_encode(json_encode([ + 'X-ChromeLogger-Data' => base64_encode(json_encode([ 'version' => '4.0', 'columns' => ['label', 'log', 'backtrace', 'type'], 'rows' => [ @@ -125,7 +125,7 @@ class ChromePHPHandlerTest extends TestCase 'test', ], 'request_uri' => '', - ]))), + ])), ]; $this->assertEquals($expected, $handler2->getHeaders());