TYPO3 v15 dev-main snapshot ()
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-105695-1732540153:
|
||||
|
||||
===============================================
|
||||
Breaking: #105695 - Simplified CharsetConverter
|
||||
===============================================
|
||||
|
||||
See :issue:`105695`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The following methods have been removed from
|
||||
:php:`\TYPO3\CMS\Core\Charset\CharsetConverter`:
|
||||
|
||||
* :php:`CharsetConverter->conv()`
|
||||
* :php:`CharsetConverter->utf8_encode()`
|
||||
* :php:`CharsetConverter->utf8_decode()`
|
||||
* :php:`CharsetConverter->specCharsToASCII()`, use
|
||||
:php:`CharsetConverter->utf8_char_mapping()` instead
|
||||
* :php:`CharsetConverter->sb_char_mapping()`
|
||||
* :php:`CharsetConverter->euc_char_mapping()`
|
||||
|
||||
This removes most helper methods that implemented conversions between different
|
||||
character sets from the TYPO3 Core. The vast majority of websites now use UTF-8
|
||||
and no longer require the expensive charset conversions previously provided by
|
||||
the Core framework.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Calling any of the removed methods will trigger a fatal PHP error.
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
The TYPO3 Core has not exposed any of this low-level functionality in upper
|
||||
layers such as TypoScript for quite some time. The removal should therefore
|
||||
have little to no impact on most installations.
|
||||
|
||||
The only cases that *may* be affected are import or export extensions that
|
||||
perform conversions between legacy character sets (for example, those in the
|
||||
EUC family). Affected extensions can mitigate this change by copying the
|
||||
TYPO3 v13 version of the class
|
||||
:php-short:`\TYPO3\CMS\Core\Charset\CharsetConverter`, including the relevant
|
||||
files from :file:`core/Resources/Private/Charsets/csconvtbl/`, into their own
|
||||
codebase.
|
||||
|
||||
The extension scanner will detect usages and classify them as weak matches.
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Avoid calling any of the removed methods. Extensions that still require this
|
||||
functionality should copy the necessary logic into their own codebase or use a
|
||||
third-party library.
|
||||
|
||||
This particular case has a direct substitution:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
// Before
|
||||
$charsetConverter->specCharsToASCII('utf-8', $myString);
|
||||
|
||||
// After
|
||||
$charsetConverter->utf8_char_mapping($myString);
|
||||
|
||||
.. index:: PHP-API, FullyScanned, ext:core
|
||||
Reference in New Issue
Block a user