AgenturPottkinder / typo3_forum

An Extbase-based TYPO3 Extension which is called typo3_forum
http://www.mittwald.de
GNU General Public License v2.0
35 stars 54 forks source link

Problem table charset on Typo3 v9 : table not created #333

Closed Oktopuce closed 5 years ago

Oktopuce commented 5 years ago

In Typo3 V9, the default charset and collation for table and database are 'utf8mb4' and 'utf8mb4_unicode_ci', sample LocalConfiguration.php :

'DB' => [
    'Connections' => [
        'Default' => [
            'charset' => 'utf8mb4',
            'dbname' => 'xxxx,
            'driver' => 'mysqli',
            'host' => '127.0.0.1',
            'password' => 'xxxx',
            'port' => 3306,
            'tableoptions' => [
                'charset' => 'utf8mb4',
                'collate' => 'utf8mb4_unicode_ci',
            ],
            'user' => 'xxxx',
        ],
]

in typo3_forum extension, two tables have wrong charset :

#
# Table structure for table 'tx_typo3forum_cache'
#
CREATE TABLE tx_typo3forum_cache (
  id int(11) unsigned NOT NULL auto_increment,
  identifier varchar(250) NOT NULL default '',
  crdate int(11) unsigned default '0',
  content mediumblob,
  lifetime int(11) unsigned default '0',
  PRIMARY KEY (id),
  KEY cache_id (identifier)
) ENGINE=InnoDB CHARACTER SET=utf8;

#
# Table structure for table 'tx_typo3forum_cache_tags'
#
CREATE TABLE tx_typo3forum_cache_tags (
  id int(11) unsigned NOT NULL auto_increment,
  identifier varchar(250) NOT NULL default '',
  tag varchar(250) NOT NULL default '',
  PRIMARY KEY (id),
  KEY cache_id (identifier),
  KEY cache_tag (tag)
) ENGINE=InnoDB CHARACTER SET=utf8;

they must be changed from utf8 to utf8mb4 otherwise the tables couldn't be created.

sgrossberndt commented 5 years ago

Rather the CHARACTER SET=utf8 definitions should be completely removed in order to simply apply the database defaults.