【MySQL系列】“一劳永逸“ 解决MySQL中 “插入中文数据“ 出错的问题

您所在的位置:网站首页 电视上全民k歌怎么取消续费 【MySQL系列】“一劳永逸“ 解决MySQL中 “插入中文数据“ 出错的问题

【MySQL系列】“一劳永逸“ 解决MySQL中 “插入中文数据“ 出错的问题

2023-09-02 17:23| 来源: 网络整理| 查看: 265

☕目录☕

  🍔问题的产生

  🧇产生的原因

  🍚解决问题的办法

              🥩🥩一、先确认当前数据库的字符集

              🍜🍜二、找到配置文件

              🍰🍰三、修改配置文件

              🥣🥣四、收尾工作

              🍤🍤五、最终结果

  🍞可能出现的其他情况

问题的产生

如上所示,但你兴高采烈的敲好以上的SQL语句时,发现全部都成功了;

可是,但你想要 使用插入语句 向学生表 插入中文数据的时候,

却发现出现了错误;

你乍眼一看,

" 咦,我的语法格式是正确的呀,为什么会出现错误? "

再瞅一眼一看,

" 没错啊,和书上的语句是一模一样的啊,为什么还是错误呢? "

产生的原因

我们都知道,数据库在表示中文的时候,需要明确 字符编码(字符集);

MySQL默认的字符集 叫做 拉丁文;

而 拉丁文 是并不支持 中文 的,所以 我们如果想要 MySQL数据库 可以存储中文,

那么 就需要把 已经默认的字符集改成 GBK或者UTF-8等 可以存储中文的字符集。

解决问题的办法

修改MySQL字符集的办法有很多种,下面就来介绍一种 "一劳永逸" 的办法:即 修改MySQL的配置文件~~

ps:

什么叫做配置文件?

——比如说 在手机上安装了《王者荣耀》这款游戏,结果发现 在玩游戏的过程中 比较卡;

——所以,在设置里面 进行了一些调整:如 改为低画质,调低分辨率 等等;

——然后虽然画质等不好,但是却很流畅,不会在玩的时候卡;

——这些能够进行调整的 设置项 就称为 "配置" 。

那么,类似于 这个游戏,平时在玩的时候,修改配置项的时候,都是直接在游戏界面的时候 进行修改~~

这样做主要是让普通玩家操作起来很方便~~

但是,在编程圈子里面,用到的很多软件,也需要提供很多的配置项~~

由于这些软件都是由 "程序员" 在用~~

所以那些 开发程序的大佬,就没有做简单方便的界面,而是直接把 配置项 放到了一个单独的文件里,按照特定的格式来组织~~

程序员 要想修改配置,就需要需改配置文件~~ 

一、先确认当前数据库的字符集

如果已经是GBK或者UTF-8了,就不会出现这类错误,修改了也没有什么用~~

咋们就配置成 UFF-8~~

--查看当前数据库的字符集 show variables like 'character%';

 需要看 database和 server部分~~

二、找到配置文件

my.ini

(1)可以用 everything 小工具来进行搜索

但是,这个方法不一定靠谱,

也许有的人的电脑上有多个MySQL~~

也就会有多个 my.ini~~

去分不出来要改哪个的~~

(2)原生方法找到配置文件

找到快捷方式的文件位置~~右键 —>属性 —>可以看见 "目标"~~把"目标"里面的内容拷贝出来,这是MySQL的可执行程序路径和配置文件路径~~把 配置文件路径 复制过来,在进行粘贴查询,找到配置文件 my.ini(当然,需要把扩展名显示)~~

当然,不要直接复制这个路径 进去(非常特别的不建议,因为没有备份,万一修修改改出错,那就还原不回去了哦):

C:\ProgramData\MySQL\MySQL Server 5.7\my.ini

【注意】这个路径仅根据 属性 中 "目标" 下的路径复制而来,也许每个电脑都不一样,我也不知道的~~

三、修改配置文件

【注意】

修改配置文件之前,一定要先备份!!!

复制粘贴出来一份,放到旁边~~

因为 重大配置的修改,一定要先备份再修改!!!

防止改错了回不去了~~

打开配置文件:

【注意】

(1)#开头的都是注释~~

(2)ini文件中,有一些 [ ] ,每一个 [ ] 称为是一个 selection ,相当于把一组功能有联系的配置放到一起,构成了一个selection;相当于分分类,便于管理~~

(3)[client]是客户端的配置~~[mysql]是客户端和服务器都可能用到的配置~~[mysqld]是服务器用到的配置~~ 

修改配置文件:

有两个地方需要修改:

具体这里的配置项,是按照键值对的方式来组织的~~

注意这里键值对的单词拼写~~

两侧不要有空格~~

[mysql]

default-character-set=utf8

[mysqld] 

character-set-server=utf8

修改完了,记得保存(ctrl+s),

然后就可以退出了~~

四、收尾工作

修改完配置文件以后,并不是立马生效~~

还是需要做一些额外的工作才可以~~

(1)重启MySQL服务器!

是重启服务器,而不是关闭mysql黑框框(是客户端)~~

重启之后,提示"正在运行",说明是重启成功!!!

如果是其他内容(如 启动中......),说明重启失败!!!

失败的最大原因是 配置文件改错了~~

哪怕是多拼了一个字,多了一个空格啥的都是不行的~~

(2)修改配置文件,对已经创建好的数据库是没有影响的~~

必须要删除旧的数据库,重新建库建表~~

五、最终结果

可能出现的其他情况

解决该类问题的办法:

先把 my.ini 拷贝到桌面上~~修改~~改完以后再拷贝回去,覆盖原来的文件(会提示按管理员权限操作,点继续就可以了)~~ 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3