Project

General

Profile

Actions

Bug #105540

open

Mixed charsets in table defaults and text columns

Added by Benjamin Franzke 2 days ago. Updated 2 days ago.

Status:
Under Review
Priority:
Should have
Assignee:
-
Category:
Database API (Doctrine DBAL)
Start date:
2024-11-05
Due date:
% Done:

0%

Estimated time:
TYPO3 Version:
13
PHP Version:
Tags:
Complexity:
Is Regression:
Sprint Focus:

Description

After upgrading from latin1 to utf8 via Update Wizard (it set's utf8 and not utf8mb4!)
and applying

$GLOBALS['TYPO3_CONF_VARS']['DB']['Connections']['Default']['defaultTableOptions'] = [
    'charset' => 'utf8mb4',
    'collation' => 'utf8mb4_unicode_ci',
];

Tables ended up in mixed scenarios where the columns used the desired charset options, but the table defaults were still defined to use the older charset and collation.

    ```
    CREATE TABLE `sys_note` (
      `uid` int(10) unsigned NOT NULL AUTO_INCREMENT,
      `subject` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
      `message` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
      PRIMARY KEY (`uid`),
      KEY `parent` (`pid`,`deleted`)
    ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
    ```

Actions

Also available in: Atom PDF