1.MySQL 数据库 编码的基本使用命令
(1),查看数据库支持的所以字符
show character set;或show char set;
(2),查看数据库当前状态
status;或 \s;
(3).查看系统字符集设置,包括所有的字符集设置
show variables like 'character_set%';
(4).查看数据表中字符集设置
show full columns from tablename; (这个很好,在ios使用utf8mb4编码保存表情的时候,可以很清楚的看到每个字段的编码)
(5).查看数据库编码
show create database dnname;
2.修改字符集命令
级别 |
命令 or 配置文件(写入my.cnf) |
时效 |
备注 |
服务器 |
SET CLOBAL character_set_server = utf8; |
临时 |
|
服务器 |
[mysqld] default-character-set = utf8 |
永久 |
重启数据库后生效 |
数据库 |
SET CLOBAL character_set_database= utf8; |
临时 |
|
数据库 |
[mysql] default-character-set = utf8; |
永久 |
重启数据库后生效 |
表 |
ALTER TABLE table_name DEFAULT CHARSET utf8; |
永久 |
|
列 |
ALTER TABLE table_name change `column` `column` character set utf8 collate utf8_general_ci null default null; (两个`column` 是 表中的字段,是等同的,注意:" ` " 这个不是单引号,是键盘ESC回退键的下面一个 ) |
永久 |
3.创建时指定字符集
级别 |
命令 |
服务器 |
安装MySQL时可以设置服务器的默认编码格式 |
数据库 |
CREATE DATABASE db_name DEFAULT CHARACTER SET utf8; |
表 |
CREATE TABLE table_name (id VARCHAR(20) NOT NULL ,name VARCHAR(20)) ENGINE = InnoDB DEFAULT CHARSET=utf8; (InnoDB是存储默认引擎,可以查看当前数据库使用的存储引擎) |
列 |
CREATE TABLE table_name(id VARCHAR(20) NOT NULL ,name VARCHAR(20) CHARACTER SET utf8); |