由于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;