win10系统CMD窗口MySQL5.6中文乱码问题

本文详细记录了在Windows10系统中,使用免安装版MySQL5.6.37-winx64时遇到的CMD窗口中文乱码问题的解决过程。通过关闭MySQL服务并手动设置my.ini为默认配置文件,解决了由于字符集配置导致的中文乱码。文章介绍了手动设置MySQL字符集和修改my.ini文件的方法,以及分析了字符集转换过程中可能出现的问题。
摘要由CSDN通过智能技术生成

win10系统CMD窗口MySQL中文乱码

问题描述:
       软件、系统环境:
       操作系统:Windows10(64位)
       MySQL软件及版本:mysql-5.6.37-winx64.zip(免安装绿色版)
       IT小白,刚开始自学MySQL数据库,结果就卡住了,于是打算写下这篇日记(可能称不上文章,就日记吧),第一次在博客中写文章,又是非专业人士,文章逻辑、观念理解等肯定有错漏。Windows10系统下通过cmd窗口,输入命令行,向MySQL数据库表中插入数据的时候出现了问题,出入带中文字符的数据就会乱码。经过几番挣扎,看了N多博客文章,按照他们介绍的方法(有在MySQL里面通过手动设置字符集编码的,有通过修改my.ini配置文件的),我都尝试了,但最初我都没修改成功。
       直到最后我解决了中文乱码问题的时候,发现并不是他们的解决方案的问题,而是我缺少的一步,这一步是我在安装MySQL,配置my.ini文件时忽略的(为了解决中文乱码这个问题,我重装了3次MySQL,最后发现也不是软件的问题,而是配置过程的问题),那就是忘记手动设置MySQL默认的配置文件为my.ini
       【以下是我的理解,如有纰漏,欢迎指正】
       【简单说,cmd窗口下mysql中文乱码主要是cmd客户端、mysql客户端和这两个客户端之间传输信息的连接层,三者的字符集编码方式出问题】
       虽然网上说mysql会默认使用后缀.ini的配置文件,但是在MySQL解压目录下有 my.ini 和my-default.ini 两个配置文件,如果不在安装配置MySQL服务器的时候手动设置谁作为配置文件来使用,那么在启动或者是命令行修改字符集编码配置信息的时候,会报错或者配置在服务器重启之后没有生效(我遇到的问题,当mysql解压目录根目录下同时存放 my.ini 和 my-default.ini 两个配置文件,用命令行启动mysql服务时提示系统发生意外,服务无法启动,删掉两者之一,停止任务进程,重启服务有可以正常启动)
在这里插入图片描述

【注意】:如果按照网友问提出的解决乱码的方法(基本上就是下面两种,暂时留到后面细讲,这里主要介绍如果这两种方法都没效果的最后一个尝试方法—手动选定mysql默认的配置文件):
       -(1)cmd窗口连接进入mysql服务器之后,通过命令行手动mysql字符集。【这种方式只能临时有效,下次重新启用mysql服务,上次手动命令行修改的配置会失效】

       -例:使用命令行设置字符集
set character_set_(client、connection、database等) = (gbk、utf8);

       -(2)找到MySQL解压目录根目录,修改配置文件my.ini。【修改配置文件的方式会永久有效。这里我的mysql解压路径是 D:\SoftWare\mysql-5.6.37-winx64 】

如果上面这两种方法都没效果,那就试试下面的方案!!!

**

针对Windows10系统中免安装版mysql-5.6.37-winx64在cmd窗口出现中文乱码最终尝试解决方案:

关闭MySQL服务,手动设置MySQL服务采用 my.ini 作为默认配置文件

       - 首先关闭MySQL服务(管理员运行cmd窗口,以免权限不足,无法执行命令)

在这里插入图片描述

       -找到MySQL解压目录(安装目录—因为我用的是免安装的MySQL,找到解压目录即可)

       -查看 my.ini 文件里面的配置信息【如果没有 my.ini 文件,可以把 my-default.ini 复制一份重命名为 my.ini,再手动写入配置信息就好了。】

[client]
port=3306
default-character-set=gbk

[mysqld]
port=3306
character_set_server=utf8

#安装路径
basedir=D:\SoftWare\mysql-5.6.37-winx64
#数据路径
datadir=D:\SoftWare\mysql-5.6.37-winx64\data

[WinMySQLAdmin]
D:\SoftWare\mysql-5.6.37-winx64\bin\mysql.exe

在这里插入图片描述

       从cmd控制台窗口进入MySQL解压目录下面的 bin 目录

切换盘符到安装目录所在的盘符(我的解压目录在 d 盘)
d: 回车("盘符名" + ":"   英文状态下的  )
cd D:\SoftWare\mysql-5.6.37-winx64     
( cd  后面有个空格)

在mysql的 bin 目录下输入命令:

mysqld install MySQL --defaults-file="D:\SoftWare\mysql-5.6.37-winx64\my.ini"

在这里插入图片描述
-这里提示服务已存在,因为我在这之前就已经把 my.ini 文件设置成默认的了,现在再次输入这个默认文件配置命令就提示该服务已经存在了!

-然后打开MySQL服务,连接进去查看新旧数据库表是否能够正常插入和显示中文字符。

===========================================================================================================

【下面是我还原配置,重现cmd中mysql中文乱码到再配置解决中文乱码的记录,小白一枚,理解和表达还有很多问题,写的乱、不好,只作为一次记录(不敢断定正误),但毕竟第一次写,希望以后有进步!】

       -由于我原来MySQL中 my.ini 配置文件已经配置好,我现在还原配置,使其出现中文乱码的问题,最后再通过修改配置,解决中文乱码问题,顺带附图

【这里斜体字部分是 将我原来配置好的mysql通过移除服务,再次使用命令行安装和配置 的过程】
- 关闭mysql服务器:

net stop mysql

关闭mysql服务器
- 移除mysql服务

mysqld remove

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值