2022.7.25补充,为使支持emoji,将utf8改为utf8mb4,因为emoji占4个位置

查看数据库编码格式

`mysql> show variables like "%char%";
Variable_nameValue
character_set_clientutf8
character_set_connectionutf8
character_set_databaselatin1
character_set_filesystembinary
character_set_resultsutf8
character_set_serverlatin1
character_set_systemutf8
character_sets_dir/usr/local/mysql-5.7.11-osx10.9-x86_64/share/charsets/

8 rows in set (0.01 sec)`

修改latin1项,方法如下:

MySQL的默认编码是Latin1,不支持中文,要支持需要把数据库的默认编码修改为gbk或者utf8。

  1. 在/etc/下找到my.cnf,如果没有就把MySQL的安装目录下的support-files目录下的my-medium.cnf复制到/etc/下并改名为my.cnf即可
  2. 打开my.cnf以后,在[mysqld]下面加上

    default-character-set=utf8mb4
    init_connect='SET NAMES utf8mb4'

  3. 配置文件修改后要重启mysql服务才能生效

    service mysql restart
    /etc/init.d/mysqld stop
    /etc/init.d/mysqld start

查询字符集:show variables like '%set%';

注意:在CentOS7上,按照上面的方式修改会导致MySQL(MariaDB)启动失败,其它修改方式完全一致,只需要将
[mysqld]下面这一句:

default-character-set=utf8mb4

改为

character-set-server=utf8mb4

即可!!

当然,CentOS7之后很多命令也变了,重启命令为:

systemctl restart mariadb.service

之后确认已创建的django表

show create table mytable;

修改编码格式

alter table mytable convert to character set utf8mb4 collate utf8mb4_general_ci;

保存后重启mysql

service mysql restart

标签: django, 1366, 编码格式, utf8

添加新评论