今天在做mysql数据存储的时候就遇见了大家可能都会遇见的问题(emoji存储)
这里主要是涉及到utf8mb4的设置
mysql 5.5以上才支持字符集
第一步:数据库版本检查:
1  | select version() #查看mysql版本  | 
第二步:修改mysql配置文件 my.conf(windows上my.ini), 修改/添加如下配置为:1
2
3
4
5
6[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
character-set-server=utf8mb4
第三步:重启mysql1
$service mysql restart
第四步:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16mysql> 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    | utf8mb4            |
| character_set_system    | utf8              |
| collation_connection    | utf8mb4_unicode_ci |
| collation_database      | utf8mb4_unicode_ci |
| collation_server        | utf8mb4_unicode_ci |
+--------------------------+--------------------+
 rows in set (0.00 sec)
 最后,因为我是跟django一起配合用的,所以 django的settings.py文件里也要做相应的配置
 1
2
3
4
5
6
7 DATABASES = {
    'default': {
        'ENGINE':'django.db.backends.mysql',
        ...
        'OPTIONS': {'charset': 'utf8mb4'},
    }
}
希望可帮到你,Best wishes