查看、修改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,修改了数据库和表格的编码仍旧未解决问题,因为字段编码优先级更高,修改字段之后才真正支持中文字符输入。

参考:https://www.cnblogs.com/shootercheng/p/5836657.html

猜你喜欢

转载自blog.csdn.net/u013344884/article/details/81171223
今日推荐