问题所在
最近开始复习es6的时候,返现数据库不能保存 类似 𠮷 这样超过0xffff的字体和 emoji 这种东西。于是乎们就需要修改mysql的字符集设置和django的连接驱动
mysql的字符集
1.修改mysql的默认配置文件
[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
2.修改mysql对应的数据库、表、列
alter table <表名> character set utf8mb4;
记得重启
django的连接驱动
在settings里面添加
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'xxxxx',
'USER': 'root',
'PASSWORD': 'xxxxx',
'HOST': "localhost",
'post': '3306',
'OPTIONS': {'charset':'utf8mb4'},
}
}
修改html的默认character
<meta charset="utf-8mb4"> // 将utf8改为utf8mb4
参考地址:csdn