From e6c89f15e4b8bcc8eb4e35dd0219b121f5e34487 Mon Sep 17 00:00:00 2001 From: Nicolas Grekas Date: Wed, 28 Oct 2015 00:14:24 +0100 Subject: [PATCH] Use mb_detect_encoding with $strict = true --- src/Symfony/Bridge/Doctrine/Tests/Logger/DbalLoggerTest.php | 2 +- src/Symfony/Component/Console/Application.php | 4 ++-- src/Symfony/Component/Console/Helper/Helper.php | 2 +- src/Symfony/Component/Console/Helper/TableHelper.php | 2 +- .../DataTransformer/NumberToLocalizedStringTransformer.php | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Symfony/Bridge/Doctrine/Tests/Logger/DbalLoggerTest.php b/src/Symfony/Bridge/Doctrine/Tests/Logger/DbalLoggerTest.php index 59e866479858..92fec99b5b47 100644 --- a/src/Symfony/Bridge/Doctrine/Tests/Logger/DbalLoggerTest.php +++ b/src/Symfony/Bridge/Doctrine/Tests/Logger/DbalLoggerTest.php @@ -160,7 +160,7 @@ public function testLogUTF8LongString() $dbalLogger ->expects($this->once()) ->method('log') - ->with('SQL', array('short' => $shortString, 'long' => mb_substr($longString, 0, DbalLogger::MAX_STRING_LENGTH - 6, mb_detect_encoding($longString)).' [...]')) + ->with('SQL', array('short' => $shortString, 'long' => mb_substr($longString, 0, DbalLogger::MAX_STRING_LENGTH - 6, 'UTF-8').' [...]')) ; $dbalLogger->startQuery('SQL', array( diff --git a/src/Symfony/Component/Console/Application.php b/src/Symfony/Component/Console/Application.php index f8bd1d05828b..eb665e5bdb49 100644 --- a/src/Symfony/Component/Console/Application.php +++ b/src/Symfony/Component/Console/Application.php @@ -1089,7 +1089,7 @@ private function stringWidth($string) return strlen($string); } - if (false === $encoding = mb_detect_encoding($string)) { + if (false === $encoding = mb_detect_encoding($string, null, true)) { return strlen($string); } @@ -1106,7 +1106,7 @@ private function splitStringByWidth($string, $width) return str_split($string, $width); } - if (false === $encoding = mb_detect_encoding($string)) { + if (false === $encoding = mb_detect_encoding($string, null, true)) { return str_split($string, $width); } diff --git a/src/Symfony/Component/Console/Helper/Helper.php b/src/Symfony/Component/Console/Helper/Helper.php index dc42600de88c..dcdca6da24ef 100644 --- a/src/Symfony/Component/Console/Helper/Helper.php +++ b/src/Symfony/Component/Console/Helper/Helper.php @@ -53,7 +53,7 @@ protected function strlen($string) return strlen($string); } - if (false === $encoding = mb_detect_encoding($string)) { + if (false === $encoding = mb_detect_encoding($string, null, true)) { return strlen($string); } diff --git a/src/Symfony/Component/Console/Helper/TableHelper.php b/src/Symfony/Component/Console/Helper/TableHelper.php index 7d624771db25..00814ecdd922 100644 --- a/src/Symfony/Component/Console/Helper/TableHelper.php +++ b/src/Symfony/Component/Console/Helper/TableHelper.php @@ -386,7 +386,7 @@ private function renderCell(array $row, $column, $cellFormat) $width = $this->getColumnWidth($column); // str_pad won't work properly with multi-byte strings, we need to fix the padding - if (function_exists('mb_strwidth') && false !== $encoding = mb_detect_encoding($cell)) { + if (function_exists('mb_strwidth') && false !== $encoding = mb_detect_encoding($cell, null, true)) { $width += strlen($cell) - mb_strwidth($cell, $encoding); } diff --git a/src/Symfony/Component/Form/Extension/Core/DataTransformer/NumberToLocalizedStringTransformer.php b/src/Symfony/Component/Form/Extension/Core/DataTransformer/NumberToLocalizedStringTransformer.php index 79423cea3bc4..7cc3d5c80536 100644 --- a/src/Symfony/Component/Form/Extension/Core/DataTransformer/NumberToLocalizedStringTransformer.php +++ b/src/Symfony/Component/Form/Extension/Core/DataTransformer/NumberToLocalizedStringTransformer.php @@ -132,7 +132,7 @@ public function reverseTransform($value) throw new TransformationFailedException('I don\'t have a clear idea what infinity looks like'); } - if (function_exists('mb_detect_encoding') && false !== $encoding = mb_detect_encoding($value)) { + if (function_exists('mb_detect_encoding') && false !== $encoding = mb_detect_encoding($value, null, true)) { $length = mb_strlen($value, $encoding); $remainder = mb_substr($value, $position, $length, $encoding); } else {