mysql通过my.ini修改字符编码utf8并防止mysqld --console报错

时间:2024-03-13 14:34:40

前几天学院的数据库课程开实验课了,由于需要做实验我终于打开了吃灰已久的wamp,通过其中的mysql完成实验。


实验过程中发现需要输入中文,但是初始的mysql不支持中文输入,原因在于它的字符编码为gbk 或 latin1。


在mysql 中可以通过“ show variables like'%char%' ”指令来查看字符编码。

mysql通过my.ini修改字符编码utf8并防止mysqld --console报错

想要输入中文应该把字符编码该为utf8。

虽然在phpmyMyAdmin中可以修改单个database或table的字符编码,但是每次这样修改都很麻烦。

所有通过各大帖子和博客我找到了通过修改my.ini文件来修改默认字符编码的方法。就是:在my.ini的[client]和[mysqld]标签下添加“ default-character-set = utf8 ”。当天修改过后mysql还是能够正常运行的,第二天就运行不了了。

我们通过命令提示符来启动mysql。首先以管理员身份运行命令提示符,进入mysql的bin目录下(如果已经设置好了环境变量就不需要),然后输入“ net start mysql "。

mysql通过my.ini修改字符编码utf8并防止mysqld --console报错

发现mysql无法启动。然后输入” mysqld --console ”。别人说这个指令是检查日志,我也不懂具体是什么?

发现有报错。

mysql通过my.ini修改字符编码utf8并防止mysqld --console报错

之后上网寻求解决方法,有很多说报错“ unknown variable 'default-character-set=utf8' ”就应该修改为” character_set_server=utf8 ”或“ character_set_client=utf8 ”之类的帖子。我尝试修改发现都行不通,直到看到这个:

https://www.2cto.com/database/201510/445106.html

才解决问题,具体操作就是在添加的“ default-character-set=utf8 ”前添加“ loose- ”以告诉程序不认识这个此选项时略过此选项。

mysql通过my.ini修改字符编码utf8并防止mysqld --console报错mysql通过my.ini修改字符编码utf8并防止mysqld --console报错


运行没问题:

mysql通过my.ini修改字符编码utf8并防止mysqld --console报错


字符编码也修改成功:

mysql通过my.ini修改字符编码utf8并防止mysqld --console报错


若遇到和我一样情况的朋友可以借鉴一二。