无法在mysql中存储utf8mb4
我正在使用django和mysql。我想将unicode utf8更改为utf8mb4以存储表情符号。我确实尝试过更改一些字段。这里是变量-无法在mysql中存储utf8mb4,mysql,django,collation,Mysql,Django,Collation,我正在使用django和mysql。我想将unicode utf8更改为utf8mb4以存储表情符号。我确实尝试过更改一些字段。这里是变量- mysql> SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%'; +--------------------------+--------------------+ | Variable_name
mysql> SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE
'collation%';
+--------------------------+--------------------+
| Variable_name | Value |
+--------------------------+--------------------+
| character_set_client | utf8mb4 |
| character_set_connection | utf8mb4 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | utf8mb4 |
| character_set_server | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| collation_connection | utf8mb4_general_ci |
| collation_database | utf8mb4_unicode_ci |
| collation_server | utf8_general_ci |
+--------------------------+--------------------+
10 rows in set (0.00 sec)
现在,当我试图添加表情符号时,它会打印出一个问号。
我还更改了我的数据库和.cnf文件-
DATABASES = {
’default’: {
’ENGINE’: ’django.db.backends.mysql’,
’NAME’: ’example’,
’USER’: ’example’,
’PASSWORD’: ’example’,
’HOST’: ’’,
’PORT’: ’’,
’OPTIONS’: {’charset’: ’utf8mb4’},
}
}
还有我的.cnf-
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
不知何故,排序服务器仍然显示utf8编码,排序连接显示utf8mb4_general_ci它已解决。如果有人知道django中要在model field中使用的任何表情选择器,请告诉我。如前所述,您的连接变量不能提供完整信息。需要表定义来理解需要执行的操作的范围。如果您的表不支持4字节字符,那么您的连接设置是不相关的。@matigo那么如何做到这一点?我使用django通过使用modelfields创建这些表。