MySQL——Linux下MySQL表中中文数据出现“??”解决方法

作者:小 琛
欢迎转载,请标明出处

在使用MySQL的时候,经常会遇到这样的问题:向一个表中加入中文元素,显示出来的却是“??”或其它乱码。

通常为Linux下MySQL编码问题。
我们在创建库和表的时候,如果不加以声明,默认的字符集是latin1,该字符集是不支持中文的,而常用的字符集utf8是支持多种语言的。因此,需要将字符集修改为utf8.

修改某库为utf8

修改某个库的字符集为utf8
alter database 数据库名 character set utf8;

根本解决方法:修改配置文件

  1. linux下mysql配置文件名为my.cnf,目录为/etc/my.cnf,用sudo权限进入

sudo vim /etc/my/cnf

  1. 在 [mysqld] 标签下加上
    character_set_server = utf8
    在这里插入图片描述
  2. 重启客户端

service mariadb stop;
service mariadb start;

注意:在修改配置后,只能保证后面的创建的表正常显示,在修改配置之前的表是没有被修改的,需要使用第一种方法。最好的建议是将之前表的数据拷贝到新表中。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值