最近做数据库遇到中文乱码的问题,发现自己相关的设置没有设置好,遂做如下记录。
首先管理员身份进入Mysql,输入命令“ show variables like 'char%'; ”,
可以发现character_set_server是latin1,所以中文是乱码的情况。
方法一:
根据别人的教程,去mysql文件路径下找到“my.ini文件”,并尝试找到文件中[mysqld]的部分,并尝试把character-set-server后面的等号改为utf8。改好以后在“计算机管理”的“服务”项中“mysql”并重新启动。
如果还是没有办法的话就【检查所建数据库是否为utf8_general_ci格式】。这一步我还没有完成,因为我的文件没有“my.ini”文件,只有“my_default.ini”文件,所以需要进行其他的排查。
方案二:此时我去搜索了一下my_default.ini的问题,知道了这是mysql的zip安装格式下需要解决的问题。因为我安装的这个mysql已经很久了,并且当初并没有用到中文,所以这里需要进一步的学习。
1.首先在mysql路径下新建一个“my.ini”文件,并输入“mysql添加用户主机怎么填_MySql安装与配置方法(MySQL添加用户、删除用户与授权)..._weixin_39764487的博客-CSDN博客”这个教程下的相关代码
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:\mysql\mysql-5.6.24-win32
# 设置mysql数据库的数据的存放目录
datadir=D:\mysql\mysql-5.6.24-win32\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB以上代码标记部分需要修改为自己的目录,也就是解压的目录。
————————————————
版权声明:本文为CSDN博主「weixin_39764487」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_39764487/article/details/113300423
后续部分配合也尝试按照这一篇文章进行修改。
2.添加环境变量
参照文章流程做出如下操作:
(1)右键单击我的电脑->属性->高级系统设置(高级)->环境变量
点击系统变量下的新建按钮
输入变量名:MYSQL_HOME
输入变量值:D:\mysql\mysql-5.6.24-win32
#即为mysql的自定义解压目录。
(2)选择系统变量中的Path
点击编辑按钮
在变量值中添加变量值:%MYSQL_HOME%\bin
注意是在原有变量值后面加上这个变量,用;隔开,不能删除原来的变量值,
4)以管理员身份运行cmd(一定要用管理员身份运行,不然权限不够),
输入:cd C:\Program Files\MySQL\MySQL Server 5.6\bin 进入mysql的bin文件夹(不管有没有配置过环境变量,也要进入bin文件夹,否则之后启动服务仍然会报错误2)
输入mysqld -install(如果不用管理员身份运行,将会因为权限不够而出现错误:Install/Remove of the Service Denied!)安装成功
————————————————
版权声明:本文为CSDN博主「weixin_39764487」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_39764487/article/details/113300423
之后在cmd以管理员身份进行操作:
显示已经安装过了,说明了目前mysql安装位置。我怀疑是不是我最新的没有安装成功。
查看数据库也没有问题。这里继续查看“show variables like 'char%';”命令,发现还是latin1.
这里我已经很想重装mysql了,但是我已经建立好了一个表,我并不想之后出现还要重新建表的情况,于是我找到了方法三。但是方法三参照别人的方法我执行不了“user mydb”的指令,所以干脆重装吧。
方法三的思路摘录自:
彻底解决MySQL中文乱码问题_u014022865的博客-CSDN博客