Known Problems
I'm missing new wall posts
walls_
was designed to cache wall posts. This is useful if the API of
walls.io is offline. Please check the cache invalidation property in the page
property. Instead of caching the page content for 8 hours, try values like 5
or 15 minutes.
Here is the enhanced "Known Issues" page, including the updated database modification queries and information for TYPO3 v12:
Emoji Handling
Description
When content retrieved from the service includes emojis, it can cause issues
because the default connection charset and the database tables' collation are
set to utf8
. The utf8
charset in MySQL cannot handle 4-byte Unicode
characters, which include many emojis, leading to potential data
truncation or errors.
Affected Versions
All versions up to the current release
Workaround
To handle emojis correctly, you need to switch your database and connection
settings from utf8
to utf8mb4
. The utf8mb4
character set is specifically
designed to handle 4-byte Unicode characters.
Steps to Resolve
-
Update MySQL Database Charset and Collation
Run the following SQL command to update the database charset:
ALTER DATABASE your_database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
Copied!Update each table's charset:
ALTER TABLE index_phash CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ALTER TABLE index_fulltext CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Copied!Update each text column's charset:
ALTER TABLE index_phash CHANGE your_column_name your_column_name TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ALTER TABLE index_fulltext CHANGE your_column_name your_column_name TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Copied! -
Update TYPO3 Connection Configuration
Update the database connection settings in TYPO3 to use
utf8mb4
:-
For TYPO3 v9 and earlier:
Edit your
Local
file:Configuration. php 'DB' => [ 'Connections' => [ 'Default' => [ 'driver' => 'mysqli', 'dbname' => 'your_database_name', 'user' => 'your_database_user', 'password' => 'your_database_password', 'host' => 'your_database_host', 'port' => 3306, 'charset' => 'utf8mb4', 'tableoptions' => [ 'charset' => 'utf8mb4', 'collate' => 'utf8mb4_unicode_ci', ], ], ], ],
Copied! -
For TYPO3 v11:
Edit your
Additional
file:Configuration. php $GLOBALS['TYPO3_CONF_VARS']['DB']['Connections']['Default']['charset'] = 'utf8mb4'; $GLOBALS['TYPO3_CONF_VARS']['DB']['Connections']['Default']['tableoptions']['charset'] = 'utf8mb4'; $GLOBALS['TYPO3_CONF_VARS']['DB']['Connections']['Default']['tableoptions']['collate'] = 'utf8mb4_unicode_ci';
Copied! -
For TYPO3 v12:
Edit your
additional.
file:php $GLOBALS['TYPO3_CONF_VARS']['DB']['Connections']['Default']['charset'] = 'utf8mb4'; $GLOBALS['TYPO3_CONF_VARS']['DB']['Connections']['Default']['tableoptions']['charset'] = 'utf8mb4'; $GLOBALS['TYPO3_CONF_VARS']['DB']['Connections']['Default']['tableoptions']['collate'] = 'utf8mb4_unicode_ci';
Copied!Edit your configuration file in
config/
:system/ settings. php return [ 'DB' => [ 'Connections' => [ 'Default' => [ 'charset' => 'utf8mb4', 'tableoptions' => [ 'charset' => 'utf8mb4', 'collate' => 'utf8mb4_unicode_ci', ], ], ], ], ];
Copied!
-
-
Verify the Changes
Ensure your database and tables are set to
utf8mb4
, and test your extension thoroughly to confirm that it can handle emojis correctly.
---
This should help ensure your TYPO3 extension can handle emojis properly by
using the utf8mb4
character set.