作者:mylvfamily | 来源:互联网 | 2023-10-09 20:16
前段时间在腾讯云上面买了一台个人服务器,在搭建好web项目的时候,在项目中录入中文,全部变成了问号,时间也错了,百思不得其解,后来我尝试着修改docker编码,修改系统语言,都无法改变。后来我把项目从docker上搬下来,然后发现还有这个问题,我慢慢确定了问题所在—mysql的编码问题。
于是 我开始查找关于修改mysql默认编码的方法,在教程中别人全部都是一毛一样复制的答案,找my.cnf文件,找不到去找另外一个.cnf文件复制过来,我TM~我没有那两个文件呀。怎么办?
首先呢,并不是只有那一种答案,只是他们抄袭来抄袭去,遍布罢了。
1、输入mysql -u root -p 命令,进入MySQL
输入 SHOW VARIABLES LIKE 'char%';
查看MySQL编码 你会看到默认的不是utf-8
2、进行修改
在终端中输入 sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
命令
在lc-messages-dir = /usr/share/mysql 语句后添加 character-set-server=utf8
语句
在终端输入 sudo gedit /etc/mysql/conf.d/mysql.cnf
命令打开mysql.cnf配置文件
在终端中输入sudo service mysql restart
命令重启MySQL服务。
3、再次查看编码
进入MySQL 输入 SHOW VARIABLES LIKE ‘char%’; 命令 ,显示修改成功
接下来呢,你就可以在你的项目中录入中文进行测试,编码是否还有问题。
另外呢,就是时间差8个小时的问题,这个比较简单,首先你查看本机的时间是否正确,使用date
然后如果不正确修改本机时间,如果正确,就去docker中查看系统时间,不正确就修改,可以使用Dockerfile,这里我就不赘述了!
以上!