友情提示:此篇文章大约需要阅读 5分钟59秒,不足之处请多指教,感谢你的阅读。
今天遇到了一个奇葩的问题 呃呃,难受,在使用mysql创建表的时候就是输入中文就报错,后来一看mysql的编码格式,吓我一跳,从没有用过的格式:latin1这个格式,有点晕,后来查询得知,他是mysql中默认的编码格式,但是不是现在的编码收拾utf-8了么?为啥是这个,哎,现在由于前后端编码都采用utf-8格式,无奈,修改mysql默认编码格式吧,附教程给大家,希望可以帮助到大家!
准备工作
干啥都得提前准备一下,先看看你的网站是不是这个情况吧!先用命令行进入到MySQL中去,之后执行下列命令:
查看编码命令:
SHOW VARIABLES LIKE 'character%';
mysql> show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
一看character_set_database 和character_set_server都是layin1,有点难受,自己动手吧!
Ubuntu16.04版本,自己安装mysql位置一般都在:
/etc/mysql
添加设置
配置mysqld.cnf文件
找到/etc/mysql/mysql.conf.d/mysqld.cnf文件,在lc-messages-dir = /usr/share/mysql语句后添加 character-set-server=utf8 语句
配置mysql.cnf文件
找到/etc/mysql/conf.d/mysql.cnf 命令打开mysql.cnf配置文件,添加代码:default-character-set=utf8 如图:
好了配置完毕,重启一下mysql看一下是否可以重启成功,记住,没有信息输出就是最好的信息。
命令:systemctl restart mysql
查看配置结果
好了再次登录MySQL终端进行看看改过来了么?
命令:
show variables like 'character%';
mysql> SHOW VARIABLES LIKE 'char%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
好了 没有问题了 看看你们解决了么? 要是有疑问 评论区找我哦!