欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

查看、修改mysql数据库及表编码格式

程序员文章站 2022-04-04 08:33:22
...

mac中在新建数据时发现不能输入中文数据,mysql默认编码格式不支持中文,编码格式应该有问题,记录一下:

首先需要定位问题---看整个数据库中哪里的编码有问题,由大到小

1.查看mysql各个编码格式问题,看到数据库以及服务的编码格式是不支持中文的

show variables like 'character%';/*mysql中各个方面字符集编码格式*/

查看、修改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