阿里云rds+django存储emoji

1.mysql客户端,找到/etc/mysql路径下的my.cnf文件

[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
init_connect='SET NAMES utf8mb4'

保存, service mysql restart ,检查字符集

mysql> SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';


2.设置rds参数, 在控制台  参数配置 中修改 character_set_server 参数为 utf8mb4。提交会自动重启(rds不会停止工作)

3.改库表编码:

ALTER DATABASE test_data_name CHARACTER SET=utf8mb4 COLLATE=utf8mb4_general_ci;

ALTER TABLE  test_table CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

4.django配置settings, DATABASES  default添加  OPTIONS': {'charset':'utf8mb4'},  

如果报错,是因为python-mysqldb包版本低于1.2.5,如实apt方式安装需要先删除:apt-get remove --purge python-mysqldb

再安装:pip install mysql-python


猜你喜欢

转载自blog.csdn.net/u010145988/article/details/79149103