mysql:设置字符集utf8mb4 支持emoji字符

Posted 明天的明天 永远的永远 未知的一切 我与你一起承担 ??

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql:设置字符集utf8mb4 支持emoji字符相关的知识,希望对你有一定的参考价值。

为什么要把数据库的字符集设置成utf8mb4呢?以前一直用的都是utf8啊?
答案在这里:utf8适用于不使用移动设备的互联网交互,utf8mb4适用于当前的移动设备互联网开发,因为移动设备中常常会有表情符号(emoji)的存储,它占用4个字节的存储空间,而utf8是3个字节,这样,用3个字节去存储4个字节的东西,很明显是存不下的,会报错,所以要用utf8mb4,并且utf8mb4是兼容utf8的,那么,就没有理由不用utf8mb4字符集了。

介绍设置MySQL的字符集:

1 在ubuntu安装mysql (密码自己设置)

sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo apt-get install libmysqlclient-dev

 

 

2 进入mysql,查看信息

/etc/mysql/mysql.conf.d/mysqld.cnf

 

可以看到我的mysql版本是5.7的,utf8mb4有一个使用限制,mysql版本必须是5.5以上,大家需要注意,我目前用的ubuntu系统是16.04的。当前mysql的字符集配置如上表,我们的目的是更改成utf8mb4。

3 找到mysql的配置文件,可用命令

sudo find / -name my.cnf

 

 

4 修改配置文件

[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

 

或直接执行:


ALTER table apps modify  name  varchar(2000) character set utf8mb4 collate utf8mb4_unicode_ci;
ALTER table apps charset=utf8mb4;
set names utf8mb4

以上是关于mysql:设置字符集utf8mb4 支持emoji字符的主要内容,如果未能解决你的问题,请参考以下文章

android emoji可以存入MYSQL,但是IOS EMOJI表情存入不成功,会报错,mysql已经支持utf8mb4

升级MySQL支持utf8mb4字符集详细步骤

设置 MYSQL 数据库编码为 utf8mb4

MySQL数据库字符集由utf8修改为utf8mb4一例

mysql 设置 utf8mb4 怎么查询

mysql 5.7怎么设置成utf8mb4