向mysql数据库中插入数据时,数据库出现中文乱码问题(windows)

1、首先win+R,输入cmd,打开命令行窗口

2、转到你存放mysql安装文件的bin目录下

3、(1)输入:net start mysql

        (2) 输入:mysql -u root -p  再输入你的数据库密码

      (3)输入: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                  | F:\    |
+--------------------------+ --------+

 

client为客户端使用的字符集。
connection为连接数据库的字符集设置类型,如果程序没有指明连接数据库使用的字符集类型则按照服务器端默认的字符集设置。
database为数据库服务器中某个库使用的字符集设定,如果建库时没有指明,将使用服务器安装时指定的字符集设置。
results为数据库给客户端返回时使用的字符集设定,如果没有指明,使用服务器默认的字符集。
server为服务器安装时指定的默认字符集设定。
system为数据库系统使用的字符集设定。

 database的默认编码为 latin1 所以,需要修改成utf-8

解决办法:

1、删除Mysql服务

        管理员打开命令行,输入:sc delete mysql (如果,你是一开始就有mysql的话,就要输入这句,这是删除Mysql服务,会提示你删除成功;如果你是刚把zip文件下了,解压,然后配置环境的话,也可以输入看看,一般会提示你没有这个服务。)

2、修改mysql配置文件my.ini (windows环境下)

        如果没有配置文件就自己在根目录中先建一个文本文档,改名为my.ini(默认是ANSI 编码格式,这是一种英文编码,不可改成utf-8或其他),将以下内容复制进去保存即可,但是要注意basedir和datadir要修改成自己存放的路径!

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

[mysql]
default-character-set=utf8

[mysqld]
port=3306

# mysql根目录
basedir=F:\mysql\mysql-5.7.27-winx64\

# 放所有数据库的data目录
datadir=F:\mysql\mysql-5.7.27-winx64\data

character-set-server=utf8

# 默认存储引擎innoDB
default-storage-engine=INNODB


#错误信息文件设置,会将错误信息放在data/mysql.err文件下
log-error=mysql.err

# Server Id.数据库服务器id,这个id用来在主从服务器中标记唯一mysql服务器
server-id=1

#lower_case_table_names: 此参数不可以动态修改,必须重启数据库
#lower_case_table_names = 1  表名存储在磁盘是小写的,但是比较的时候是不区分大小写
#lower_case_table_names=0  表名存储为给定的大小和比较是区分大小写的 
#lower_case_table_names=2, 表名存储为给定的大小写但是比较的时候是小写的
lower_case_table_names=1

#限制数据的导入导出都只能在Uploads文件中操作,这个是在sql语句上的限制。
#secure-file-priv="D:\AppServ\mysql-5.7.23/Uploads"
#值为null ,也就是注释掉这个参数或者secure-file-priv=null。表示限制mysqld 不允许导入|导出
#值为/tmp/ ,即secure-file-priv="/tmp/" 表示限制mysqld 的导入|导出只能发生在/tmp/目录下
#没有具体值时,即secure-file-priv=      表示不对mysqld 的导入|导出做限制

# 最大连接数
max_connections=200
# 打开表的最大缓存数
table_open_cache=2000

# tmp_table_size 控制内存临时表的最大值,超过限值后就往硬盘写,写的位置由变量 tmpdir 决定 
tmp_table_size=16M

# 每建立一个连接,都需要一个线程来与之匹配,此参数用来缓存空闲的线程,以至不被销毁,
# 如果线程缓存中有空闲线程,这时候如果建立新连接,MYSQL就会很快的响应连接请求。
# 最大缓存线程数量
thread_cache_size=10

 3、输入如下命令,注意路径改成自己的,这是生成data文件的命令,data文件会用来存放你之后建的数据库。

mysqld --defaults-file=F:\mysql\mysql-5.7.27-winx64\my.ini --initialize --console

4、输入如下命令,就是把服务安装到电脑,因为前面删了。

mysqld --install

 

现在可以测试康康是不是修改成功了 !!!亲测有效,欢迎交流~~~~

 

诶嘿!如果你不是下载文档直接用的,而是下载MSI点击运行的那种,修改配置文件时无效时,你只要记住:

修改配置文件是有用的,问题的关键是真正的配置文件到底在哪!!!


右键 “我的电脑” -> 管理 -> 服务和应用程序 -> 服务 ,然后在服务列表中找到你的MySQL, 右键你的MySQL查看属性!

找到配置文件的正确位置,然后照着上面的方法,修改my.ini文件,即可!

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值