码迷,mamicode.com
首页 > 数据库 > 详细

mysql字符集

时间:2018-05-17 23:17:11      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:命令行   flow   sage   成功   range   led   span   技术   row   

系统环境: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)全部改好后,可插入成功
 
技术分享图片
 
  
总结:也就是说从库到表,从表到列的字符集都得改过来。
 

mysql字符集

标签:命令行   flow   sage   成功   range   led   span   技术   row   

原文地址:https://www.cnblogs.com/lemon-le/p/9053732.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!