utf8下一个中文字符用三个字节表示,GBK(或gb2312)下一个中文字符用两个字节表示。utf8mb4是强烈建议修改的字符集,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。
MySQL的“utf8mb4”是真正的“UTF-8”。MySQL的“utf8”是一种“专属的编码”,它能够编码的Unicode字符并不多。
① 临时会话修改字符集
//客户端需要的
SET GLOBAL character_set_clinet=utf8mb4;
//查询连接中的文本编码
SET GLOBAL character_set_connection=utf8mb4;
//mysql返回结果的编码
SET GLOBAL character_set_results=utf8mb4;
//mysql服务器存储文本的格式
SET GLOBAL character_set_server=utf8mb4;
//数据库
SET GLOBAL character_set_database=utf8mb4;
SET NAMES 'utf8mb4'
语句
// 其与这三个语句等价:
//客户端需要的
SET GLOBAL character_set_clinet=utf8mb4;
//查询连接中的文本编码
SET GLOBAL character_set_connection=utf8mb4;
//mysql返回结果的编码
SET GLOBAL character_set_results=utf8mb4;
② 永久修改字符集
这里就是修改mysql的配置文件了哦。Windows环境下是my.ini,Linux环境下是my.cnf。
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
character_set_server=utf8mb4
init_connect='SET NAMES utf8mb4'
③ Windows环境MySQL5.7
如果是安装版本且默认安装,那么配置文件my.ini在C:\ProgramData\MySQL\MySQL Server 5.7
下面。这里注意哦,是在ProgramData路径下。