ubuntu16.04下mysql5.7中文乱码解决并修改字符集为utf8

写在前面

   1.数据库编码正确状态

   2.数据库编码状态异常

        方式1):通过sql语句设置字符集

        方式2):修改配置文件vim /etc/mysql/conf.d/mysql.cnf和vim  /etc/mysql/mysql.conf.d/mysqld.cnf

   3.数据库,表,表字段字符集异常

       3.1数据库库,表字符集直接通过工具修改为utf8

       3.2表字段字符集异常

  

 

数据库正确状态

第一步 登录mysql

root@VM-0-6-ubuntu:~# sudo mysql -u root -p

 1.1输入mysql数据库密码

 

第二步查看mysql数据库编码

mysql> show variables like '%char%';

以上为正确的。

退出

mysql> exit;

数据库编码异常

问题1:

查看数据库编码:

mysql> show variables like '%char%';

结果如下(问题1):

è¿éåå¾çæè¿°

针对问题1:解决办法两种A,B取其一

方式(A)

sql>set character_set_server=utf8;
sql>set character_set_database=utf8;
sql>show variables like '%char%';

è¿éåå¾çæè¿°

方式(B)

修改配置文件:

需要在红色标记的文件夹下修改配置文件如下:

1) vim /etc/mysql/conf.d/mysql.cnf添加如下内容:
[client]
default-character-set=utf8

结果如下:

2) vim  /etc/mysql/mysql.conf.d/mysqld.cnf 添加如下内容

找到[mysqld]然后在skip-external-locking这行代码下面添加

character-set-server=utf8
init_connect= SET NAMES utf8
 

 最后重启:sudo service mysqld restart

root@VM-0-6-ubuntu:~# sudo service mysqld restart

数据库,表,表字段字符集异常

3.1数据库库,表字符集直接通过工具修改为utf8,这里就不在累赘

 3.2表字段字符集异常

第一步:先用工具导出sql语句,然后打开sql语句查看字符集是否正确,如果不是utf8,请继续往下看

  如下:红色部分

CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT ,

  `name` varchar(50) CHARACTER SET utf8 DEFAULT NULL ,
  
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

第二步:如果不是utf8,请替换为utf8

第三步:用工具删除数据库原表,重新导入修改后的sql文件

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北纬32.6

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值