From 2731d292497d35c3605316f02dba900abf65e626 Mon Sep 17 00:00:00 2001 From: Maximilian Graf Schimmelmann Date: Sat, 16 May 2026 10:58:07 +0200 Subject: [PATCH] Fix Invalid UTF-8 character error for potential malformed user input. --- composer.json | 3 ++- src/Field/Configurator/CollectionConfigurator.php | 7 ++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/composer.json b/composer.json index f251628035..b62471bb3f 100644 --- a/composer.json +++ b/composer.json @@ -39,7 +39,8 @@ "symfony/validator": "^5.4|^6.0|^7.0|^8.0", "twig/extra-bundle": "^3.17", "twig/html-extra": "^3.17", - "twig/twig": "^3.20" + "twig/twig": "^3.20", + "ext-mbstring": "*" }, "require-dev": { "doctrine/doctrine-fixtures-bundle": "^3.4|3.5.x-dev|^4.0", diff --git a/src/Field/Configurator/CollectionConfigurator.php b/src/Field/Configurator/CollectionConfigurator.php index 92dd6dfd61..28fe63db23 100644 --- a/src/Field/Configurator/CollectionConfigurator.php +++ b/src/Field/Configurator/CollectionConfigurator.php @@ -106,7 +106,12 @@ private function formatCollection(FieldDto $field, AdminContext $context): int|s return $this->countNumElements($field->getValue()); } - $collectionItemsAsText[] = (string) $item; + $itemString = (string) $item; + if (!mb_check_encoding($itemString, 'UTF-8')) { + $itemString = mb_convert_encoding($itemString, 'UTF-8', 'UTF-8'); + } + + $collectionItemsAsText[] = $itemString; } $isDetailAction = Action::DETAIL === $context->getCrud()->getCurrentAction();