1,查看mysql的编码格式
SHOW VARIABLES WHERE Variable_name LIKE 'character_set_%' OR Variable_name LIKE 'collation%';
2,修改/etc/mysql/my.cnf 文件,增加如下内容
[client]
default-character-set=utf8mb4
[mysqld]
character-set-client-handshake = False
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect=’SET NAMES utf8mb4'
[mysql]
default-character-set=utf8mb4
3,use mydb 选择已经存在的某个数据库
4,修改数据库的编码格式
ALTER DATABASE mydb character set=utf8mb4 collate=utf8mb4_unicode_ci;
5,修改数据库的某个表的编码格式,如果原来是utf8格式的,建议每个表都修改。
ALTER TABLE your_table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
6,修改django的settings.py文件
DATABASES = {
'default': {
'ENGINE':'django.db.backends.mysql',
'HOST':'127.0.0.1',
'USER':'root',
'PASSWORD':'123456',
'NAME':'mydb',
'OPTIONS': {'charset':'utf8mb4'},
}
}
7,查看某个表的字段编码
show full columns from t_user;
返回如下,表示修改成功。
8,重启mysql,若有需要,重启web程序。
sudo service mysql restart