文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

MySQL插入不了中文数据问题的原因及解决

2023-05-05 12:26

关注

前言

我们使用mysql可能会遇到加入中文报错的情况,如下。

MySQL插入不了中文数据问题的原因及解决

报错:非法的字符值 放入 ‘name’    为什么不能存入中文呢?

原因:

对于当前数据库 来说,内部存储中文是需要指定对应的中文编码方式!

而数据库默认的字符集,是“拉丁文”,不能存中文。

我们在控制台输入,下面这行命令,查看数据库字符集。

show variables like '%char%';

我们看  character_set_database 这一行对应 Value的是 latinl,而 latinl 是拉丁文,是不支持中文的。 

MySQL插入不了中文数据问题的原因及解决

现在我们知道数据库为什么不能存储中文了,那应该怎么做才能让数据库插入中文呢?我们接着往下看

具体解决方法:

我主要介绍两种方法,一种简单的,一个比较复杂,但其本质上是在修改 数据库 字符编码

创建数据库时设置字符集为utf8

我们在创建数据库时设置支持中文字符集utf8,如下

create database 数据库名 character set utf8;

设置完后,我们就能想改数据库中插入中文啦。

MySQL插入不了中文数据问题的原因及解决

我们再查看该数据库时,我们会发现我们设置数据库字符集改变了,但是当我们使用其他数据库时,其字符集还是 latinl。

MySQL插入不了中文数据问题的原因及解决

这种方法,虽然简单但是每次都需要手动设置,那有没有一种方法能一劳永逸。

我们看方法二。

修改数据库配置文件(比较麻烦)

我们可以修改MySQL的配置文件,把其字符集修改为utf8,这样再创建数据库就不用手动设置啦。

什么是配置文件:

    很多程序,内部支持多种“模式”,可以调整当前程序,让他应用那种模式。

    因此就可以借助“开关”来切换模式!软件的开关通常会用一个“图形化界面”,但是对于 MySQL 等‍程序猿‍专用软件则一般没有对应的图形化界面表示开关。只是通过一个专门的文件,来保存这些开关。这个文件就是 “配置文件”。

     因此程序猿如果要调整这些开关,就要手动修改这个文件。

1、找到MySQL的配置文件

每个人电脑上的配置文件路径不一样,我们可以‘服务’来找到其对于的路径

MySQL插入不了中文数据问题的原因及解决

然后在服务中,找到MySQL,在常规中找到可执行文件路径,复制下来。 

MySQL插入不了中文数据问题的原因及解决

 大家可以像我一样,把路径复制下来放到画图中方便查看。如下图,画红线的就是MySQL配置文件路径,接着我们根据路径去查找配置文件

MySQL插入不了中文数据问题的原因及解决

在查找过程中 大家肯能找不到 ProgramData 文件,一般这个文件都是隐藏起来的,我们点击显示隐藏项目就会出现。

MySQL插入不了中文数据问题的原因及解决

2、修改文件  

找到 后缀为 .ini 文件后,我们可以记事本打开编辑。

注意:

    大家在进行编辑之前,一定要先备份!!!

    这样的文件非常关键,一旦改错了,mysql 就启动不了了!!

如何备份:我们直接选中文件,赋值粘贴即可。

MySQL插入不了中文数据问题的原因及解决

 首先在文件中找到[mysql],在下面添加下面  default-character-set=utf8

MySQL插入不了中文数据问题的原因及解决

注意:=两侧不要有空格

然后找到[mysqld],把 下图话红框的地方改成  character-set-server=utf8 ,改好后退出保存

MySQL插入不了中文数据问题的原因及解决

3、重启MySQL服务器(重要)

MySQL是一个客户端服务器程序,我们要重启MySQL服务器。我们在服务中找到MySQL之后,右键点击重启。重启后MySQL显示‘正在运行’,即重启成功!

注意:重启的是MySQL服务器,不是MySQL客户端

如果启动失败,可能是配置文件出错,大家可以回去检测一下是不是有拼写错误或空格多打的情况

MySQL插入不了中文数据问题的原因及解决

到这里就配置成功了,我们可以去尝试建库插入中文试试

刚才该的配置,影响的是新的库。旧的库,仍然是之前的编码!!! 一定要记得删库,重新建库

MySQL插入不了中文数据问题的原因及解决

总结 

到此这篇关于MySQL插入不了中文数据问题的原因及解决的文章就介绍到这了,更多相关MySQL插入不了中文数据内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯