mysql字符集

系统环境:CentOS Linux release 7.4.1708 (Core)

Mysql版本:5.6.11
 
场景:新装的数据库,创建数据库,创建数据表后,插入中文数据报错
 
 
解决过程:
 
1、修改配置文件 my.cnf 添加以下三个   
  
[mysqld]
character_set_server = utf8

[mysql]
default-character-set=utf8

[client]
default-character-set=utf8
 
2、重启数据库,在命令行查看字符集是否更改为utf8
 
 
 
3、原来创建的数据库和数据表都需更改字符集
   
1)数据库更改字符集 
alter database database_name default character set utf8;
 
     
2)查看数据库信息    
show create database database_name;
 
 
3)数据表更改字符集     
alter table table_name default character set utf8;
 
 
4)查看创建数据表信息   
show create table student_message;
 
      
4、到这里为止,插入中文字符还是会报错,因为数据表的列的字符集没改变
      
1)还得把列的字符集更改过来
alter table table_name change filed_name filed_name char(10) character set utf8  
 
 
2)全部改好后,可插入成功
 
 
  
总结:也就是说从库到表,从表到列的字符集都得改过来。
 
原文地址:https://www.cnblogs.com/lemon-le/p/9053732.html