ACP2E-4797: You cannot save 4-byte Unicode characters in the Admin WYSIWYG editor or Page Builder…
You cannot save 4-byte Unicode characters in the Admin WYSIWYG editor or Page Builder, even when the database is configured to support utf8mb4. Quality patch ACP2E-4797 for magento/magento2-base applies to Magento Open Source and Adobe Commerce 2.4.8 to 2.4.8-p5.
- Categories
- Content
- Components
- magento/magento2-base, magento/module-catalog, magento/module-cms, magento/module-ui, magento/module-banner, magento/module-catalog-staging, magento/module-cms-staging, magento/module-page-builder
- Origin
- adobe-commerce-support
- Since QPT
- 1.1.82
Issue
You cannot save 4-byte Unicode characters in the Admin WYSIWYG editor or Page Builder, even when the database is configured to support utf8mb4.
Steps to reproduce
1. Log in to the Admin. 1. Go to Content > Elements > Blocks. 1. Click Add New Block, or open an existing block in edit mode. 1. In the Content section, enter these emojis in the editor: 🔵⚪🔴. 1. To reproduce the issue in Page Builder, select Edit with Page Builder. If needed, drag Text from Elements to the stage, open the Text content type settings, and enter these emojis in the editor: 🔵⚪🔴. 1. Save the Page Builder changes. If Page Builder is open in full-screen mode, close full-screen to return to the block form. Then click the Save arrow and choose Save & Close.
Adobe's page lists 2.4.8 - 2.4.8-p5 as compatible; the versions below are resolved from the current QPT constraints and are the ones the tool will offer.
Adobe scheduled the permanent fix for 2.4.10.
Install
Install the Quality Patches Tool with composer require magento/quality-patches, apply the prerequisites listed for all files applicable to your distribution and version first, then run vendor/bin/magento-patches apply ACP2E-4797. On Cloud, add ACP2E-4797 under stage.build.QUALITY_PATCHES in .magento.env.yaml.
For cweagans/composer-patches, choose a compatible version below and download the bundle. Copy its ACP2E-4797/ folder into patches/composer/, merge composer.patches.json into composer.json, then run composer install. Bundle prerequisites the same way and list them first. Paths are relative to each package root, using the default -p1 level. Prefer local files when configuring composer-patches; a remote URL can change.
Patch files and compatible versions
magento/magento2-base >=2.4.8 <2.4.9
- Patch file
- patches/os/ACP2E-4797_2.4.8-p4.patch
- vendor/magento/module-catalog/Ui/DataProvider/Product/Form/Modifier/Eav/WysiwygConfigDataProcessor.php
- vendor/magento/module-catalog/view/adminhtml/ui_component/category_form.xml
- vendor/magento/module-cms/view/adminhtml/ui_component/cms_block_form.xml
- vendor/magento/module-cms/view/adminhtml/ui_component/cms_page_form.xml
- vendor/magento/module-ui/Component/Form/Element/Wysiwyg.php
- vendor/magento/module-ui/Model/ResourceModel/Utf8mb4Support.php (added)
- vendor/magento/module-ui/Model/ResourceModel/Utf8mb4SupportInterface.php (added)
- vendor/magento/module-ui/Model/Validation/WysiwygValidationConfigResolver.php (added)
- vendor/magento/module-ui/etc/di.xml
- vendor/magento/module-ui/view/base/ui_component/etc/definition.xml
- vendor/magento/module-ui/view/base/web/js/lib/validation/rules.js
- vendor/magento/magento2-base/lib/web/mage/validation.js
magento/magento2-ee-base >=2.4.8 <2.4.9
- Magento Open Source
- —
- vendor/magento/module-banner/view/adminhtml/ui_component/banner_form.xml
- vendor/magento/module-catalog-staging/view/adminhtml/ui_component/catalogstaging_category_update_form.xml
- vendor/magento/module-cms-staging/view/adminhtml/ui_component/cmsstaging_block_update_form.xml
- vendor/magento/module-cms-staging/view/adminhtml/ui_component/cmsstaging_page_update_form.xml
magento/module-page-builder >=2.2.6 <2.2.7
- Patch file
- patches/os/ACP2E-4797_2.2.6-p3.patch
- vendor/magento/module-page-builder/Component/Form/Element/Wysiwyg.php
- vendor/magento/module-page-builder/view/adminhtml/ui_component/pagebuilder_banner_form.xml
- vendor/magento/module-page-builder/view/adminhtml/ui_component/pagebuilder_html_form.xml
- vendor/magento/module-page-builder/view/adminhtml/ui_component/pagebuilder_slide_form.xml
- vendor/magento/module-page-builder/view/adminhtml/ui_component/pagebuilder_text_form.xml
- vendor/magento/module-page-builder/view/adminhtml/web/js/form/element/html-code.js
