[!!!][TASK] Remove charset functionality for locales
[Packages/TYPO3.CMS.git] / typo3 / sysext / core / Documentation / Changelog / master / Breaking-72826-RemovedCustomCharsetConfigurationForLocales.rst
1 ===================================================================
2 Breaking: #72826 - Removed custom charset configuration for locales
3 ===================================================================
4
5 Description
6 ===========
7
8 The TYPO3 Frontend resolves the TypoScript option ``config.locale_all`` and stores the charset part within ``$TSFE->localeCharset``. If the option ``locale_all`` does not provide a charset (e.g. when it is set to ``de_AT`` instead of ``de_AT.UTF-8`` a "best guess" was done based on a static list set up in 2004.
9
10 The option ``$TSFE->localeCharset`` was removed, along with the following calculation options and methods
11 available in the CharsetConverter class:
12
13     * CharsetConverter->lang_to_script
14     * CharsetConverter->script_to_charset_unix
15     * CharsetConverter->script_to_charset_windows
16     * CharsetConverter->locale_to_charset
17     * CharsetConverter->get_locale_charset()
18
19 The localeCharset option was solely used within the TypoScript functionality ``stdWrap.strftime`` when no
20 custom character set was given, and a character set conversion from the "localeCharset" (based on the best guess
21 or explicitly set via ``config.locale_all = de_AT.UTF-8`` and it was different than the renderCharset option of the TYPO3 Frontend.
22
23
24 Impact
25 ======
26
27 When custom locales are configured in TypoScript which are not present on the server, or the character set of ``config.locale_all`` differs from the ``config.renderCharset``, or ``config.locale_all`` does not set a character set, could lead to unexpected output in the TYPO3 Frontend.
28
29
30 Affected Installations
31 ======================
32
33 Instances which have a different ``config.locale_all`` character set given than set via ``config.renderCharset``, or on
34 servers that don't have the charset of the locale available but the output should be a certain but not given character set.
35
36
37 Migration
38 =========
39
40 As this is a misconfiguration and only necessary if e.g. can not handle UTF-8 locales, config.set_locale can explicitly set to ``de_AT@iso-8859-15`` and the output should be renderCharset. On instances where ``stdWrap.strftime``is used, the subproperty ``charset`` can be set to the custom character set (e.g. ``iso-8859-15``).
41
42 In each case, it should be configured that the ``config.locale_all`` option should have a character set given, to avoid
43 any side-effects with the TypoScript stdWrap option ``strftime``.