查看、修改mysql数据库及表编码格式
mac中在新建数据时发现不能输入中文数据,mysql默认编码格式不支持中文,编码格式应该有问题,记录一下:
首先需要定位问题---看整个数据库中哪里的编码有问题,由大到小
1.查看mysql各个编码格式问题,看到数据库以及服务的编码格式是不支持中文的
show variables like 'character%';/*mysql中各个方面字符集编码格式*/
2.修改数据库的编码格式并查看是否成功。回到表格输入中文字符,仍旧不支持。
alter database test character set utf8; /*修改编码数据库test编码为utf8*/
show variables like 'character_set_database';/*查询编码格式*/
3.查看表格编码格式,看到表格编码格式还是latin1,修改表格编码格式,表格中还是不支持输入中文字符
show create table student;/*查看表格编码格式*/
alter table student character set utf8;/*修改表格编码格式*/
CREATE TABLE `student` (
`student_id` int(10) NOT NULL AUTO_INCREMENT,
`student_name` varchar(50) CHARACTER SET utf8 DEFAULT NULL,
`student_age` int(2) DEFAULT NULL,
`student_class` varchar(10) CHARACTER SET utf8 DEFAULT NULL,
`course_num` int(2) DEFAULT NULL,
PRIMARY KEY (`student_id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1
4.最后看字段的编码格式,也修改为utf8(可到表格设计表中修改字段编码),支持中文输入!
alter table <表名> change <字段名> <字段名> <类型> character set utf8;
总结:逐步锁定问题,实际上先看问题出现在哪里,然后修改,不要轻易修改。
Mysql字符编码越细的优先级越高,由于一开始字段的默认编码为Latin1,修改了数据库和表格的编码仍旧未解决问题,因为字段编码优先级更高,修改字段之后才真正支持中文字符输入。
推荐阅读
-
查看oracle数据库的编码及修改编码格式的方法
-
CentOS7.x卸载与安装MySQL5.7的操作过程及编码格式的修改方法
-
mysql数据库常见基本操作实例分析【创建、查看、修改及删除数据库】
-
ubuntu下安装mysql并授予其他用户权限及修改mysql数据库的编码集
-
MySQL数据库实验:任务二 表数据的插入、修改及删除
-
SQL操作数据库学习之创建数据表、查看表结构、修改表结构及重命名表讲解
-
修改数据库编码格式(软件测试mysql面试题及答案)
-
mysql修改数据库编码(数据库字符集)和表的字符编码的方法_MySQL
-
mysql数据库可以修改表的日期格式吗?
-
mysql数据库可以修改表的日期格式吗?