Mysql设置默认编码格式为UTF-8(修复MySQL中文乱码)

Linux下MySQL设置编码格式

前言:MySQL是大家必备的数据库,但在服务器上有时新装的MySQL默认编码格式不正确,导致无法正常显示中文,因此需要重设默认编码

查看编码格式

  • 连接进入MySQL后,执行:show variables like ‘%char%’;
  • 查看自己的编码格式
  • 通用模式为下图,如果你的配置和下图相同,那么请检查你的表默认格式
  • Mysql设置默认编码格式为UTF-8(修复MySQL中文乱码)_第1张图片

添加配置文件

  • MySQL的配置文件为:my.cnf
  • 路径一般在:/etc/my.cnf
  • 如果没看到可以执行指令搜索:find / -name my.cnf
  • 备注:没该文件MySQL也能正常启动,my.cnf的作用在于提供配置参数,不存在则使用默认参数(所以会导致编码问题),不存在该文件的同学只要新建一个到**/etc**下即可

添加文件内容

  • 如果已有my.cnf文件,则在原有文件内容下添加
[client]
default-character-set=utf8
[mysqld]
default-storage-engine=INNODB
character-set-server=utf8
collation-server=utf8_general_ci
  • 没有的话新建后添加内容即可

重启MySQL

  • 执行指令:service mysqld restart完成重启
  • 成功后重新连接MySQL
  • 执行**show variables like ‘%char%’;**再次查看格式
  • 正常情况,这里就可以显示中文了

截图对比

修改前:
Mysql设置默认编码格式为UTF-8(修复MySQL中文乱码)_第2张图片
Mysql设置默认编码格式为UTF-8(修复MySQL中文乱码)_第3张图片
修改后:
Mysql设置默认编码格式为UTF-8(修复MySQL中文乱码)_第4张图片
Mysql设置默认编码格式为UTF-8(修复MySQL中文乱码)_第5张图片

其他

  • 若数据库编码已经正确仍不能显示中文。执行show create table tableName;
  • 执行**alter table tableName character set utf8;**来修改表编码
  • 正常表编码:
    Mysql设置默认编码格式为UTF-8(修复MySQL中文乱码)_第6张图片

备注

有问题欢迎来公众号留言~~
Mysql设置默认编码格式为UTF-8(修复MySQL中文乱码)_第7张图片

你可能感兴趣的:(数据库)