由于mysql的默认字符集是latin1,无法存放中文和emoji表情,所以需要更改默认的字符集设置。
查看目前字符集
show variables where variable_name like 'character%' or variable_name like 'collation%';
name | set |
---|---|
character_set_client | utf8mb4 |
character_set_connection | utf8mb4 |
character_set_database | utf8mb4 |
character_set_results | utf8mb4 |
character_set_server | utf8mb4 |
character_set_filesystem | binary |
character_set_system | utf8 |
collation_connection | utf8mb4_unicode_ci |
collation_database | utf8mb4_unicode_ci |
collation_server | utf8mb4_unicode_ci |
前五个如果不是utf8mb4则需要更改。
修改配置文件
在linux系统里my.cnf一般在/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_unicode_ci
init_connect=’SET NAMES utf8mb4’
- 修改完之后重启数据库,查看修改情况。
将数据库和已经建好的表也转换成utf8mb4
alter database ××× character set utf8mb4 collate utf8mb4_general_ci;
网友评论