TYPO3 v10负责所有mysql连接中的字符集和排序

TYPO3 v10负责所有mysql连接中的字符集和排序,typo3,typo3-10.x,Typo3,Typo3 10.x,默认情况下,我的生产提供商拒绝将MySQL 5.7服务器配置设置为utf8mb4/utf8mb4\u unicode\u ci [client] default-character-set = utf8mb4 [mysqld] character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci 而是告诉我使用SQL将其设置到每个新数据库 ALTER DATABASE mydatabase CHARA

默认情况下,我的生产提供商拒绝将MySQL 5.7服务器配置设置为utf8mb4/utf8mb4\u unicode\u ci

 [client]
 default-character-set = utf8mb4

 [mysqld]
 character-set-server  = utf8mb4
 collation-server      = utf8mb4_unicode_ci 
而是告诉我使用SQL将其设置到每个新数据库

ALTER DATABASE mydatabase CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
这导致了我的数据库的混合字符集/排序规则:

mysql> use mydatabase;
mysql> SHOW VARIABLES WHERE Variable_name LIKE 'collation_%' OR Variable_name LIKE 'character_set_%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8mb4                    |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
| collation_connection     | utf8_general_ci            |
| collation_database       | utf8mb4_unicode_ci         |
| collation_server         | latin1_swedish_ci          |
+--------------------------+----------------------------+
11 rows in set (0,00 sec)
通过这种配置,我希望utf8mb4特定字符(如emojis)不会正确保存在数据库中,因为MySQL将来自PHP的传入数据视为utf8而不是utf8mb4。但幸运的是,表情符号(