作者:小 琛
欢迎转载,请标明出处
在使用MySQL的时候,经常会遇到这样的问题:向一个表中加入中文元素,显示出来的却是“??”或其它乱码。
通常为Linux下MySQL编码问题。
我们在创建库和表的时候,如果不加以声明,默认的字符集是latin1,该字符集是不支持中文的,而常用的字符集utf8是支持多种语言的。因此,需要将字符集修改为utf8.
修改某库为utf8
修改某个库的字符集为utf8
alter database 数据库名 character set utf8;
根本解决方法:修改配置文件
- linux下mysql配置文件名为my.cnf,目录为/etc/my.cnf,用sudo权限进入
sudo vim /etc/my/cnf
- 在 [mysqld] 标签下加上
character_set_server = utf8
- 重启客户端
service mariadb stop;
service mariadb start;
注意:在修改配置后,只能保证后面的创建的表正常显示,在修改配置之前的表是没有被修改的,需要使用第一种方法。最好的建议是将之前表的数据拷贝到新表中。