TYPO3 v10负责所有mysql连接中的字符集和排序
默认情况下,我的生产提供商拒绝将MySQL 5.7服务器配置设置为utf8mb4/utf8mb4\u unicode\u ciTYPO3 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
[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。但幸运的是,表情符号(