1.查看数据库字符集
SHOW CREATE DATABASE db_name;
2.查看表字符集
SHOW CREATE TABLE table_name;
3.查看Mysql字符集设置
SHOW VARIABLES LIKE '%char%'
修改字符集
1.修改表字符集
ALTER TABLE table_name CHARACTER set utf8mb4;
2.修改数据库字符集
ALTER DATABASE db_name CHARACTER SET utf8mb4;
3.读取乱码设置数据库字符集
SET NAMES utf8mb4;
等价于
SET CHARACTER_SET_CLIENT = utf8mb4;
SET CHARACTER_SET_RESULTS = utf8mb4;
SET CHARACTER_SET_CONNECTION = utf8mb4;
上面3个变量在获取数据库数据中起着转化编码的作用。
服务器端查询数据库需要经历两个过程
信息输入:client→connection→server;
信息输出:server→connection→results。
“SET NAMES UTF8”作用只是临时的,MySQL重启后就恢复默认了。