解决MySQL插入不了中文数据问题

这篇具有很好参考价值的文章主要介绍了解决MySQL插入不了中文数据问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

🎈目录🎈

原因⁉

具体解决方法

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

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


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

解决MySQL插入不了中文数据问题

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

原因⁉:

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

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

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

show variables like '%char%';

         我们看  character_set_database 这一行对应 Value的是 latinl,而 latinl 是拉丁文,是不支持中文的。 解决MySQL插入不了中文数据问题

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

具体解决方法:

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

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

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

create database 数据库名 character set utf8;

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

解决MySQL插入不了中文数据问题

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

解决MySQL插入不了中文数据问题

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

我们看方法二。

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

       我们可以修改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插入不了中文数据问题文章来源地址https://www.toymoban.com/news/detail-453645.html

到了这里,关于解决MySQL插入不了中文数据问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MySQL卸载不干净回不到初始安装页面(MySQL Connector Net卸载不了),重装报错Database initialization failed等问题解决办法

    首先,这篇文章适合 1. 常规卸载方法无法卸载干净 导致重装始终回不到初始安装页面,即回不到下图初始状态,始终是welcome back (这部分我会单独讲一下MySQL Connector Net卸载不了的问题) 2.重装过程中 Database initialization failed 安装失败报错 1.双击安装程序进行卸载,选择rem

    2023年04月08日
    浏览(53)
  • JDBC连接MySQL后出现中文字符乱码的问题及其解决方案

    最近在做JavaWeb课程的实验课,今天在尝试jsp通过jdbc连接数据库向MySQL中的user表插入数据后, 表内数据出现了中文乱码的问题 。下面将详细给出本次问题出现场景以及详细的解决方案。 在我的MySQL中的数据库db1里,有一个名为“user”的表,其属性值如下: 通过navicat向表格中

    2024年02月01日
    浏览(40)
  • elasticsearch安装及配置,遇到9200访问不了以及中文乱码,能访问了却要账户密码等问题

    https://www.elastic.co/cn/downloads/elasticsearch 我下载的是8.6.2 不建议下载mis会有报错问题。 下载的压缩包解压到最好是无中文目录的路径下,以免中文乱码。 解压好之后里面的目录 目录讲解 在bin目录下cmd到控制台. 在控制台输入elasticsearch就可以启动了,也可以双击bin目录下的ela

    2024年02月08日
    浏览(55)
  • Java后端使用POST请求向mysql中插入Json数据的问题

    Cause: java.lang.IllegalStateException: Type handler was null on parameter mapping for property ‘urlParams’. It was either not specified and/or could not be found for the javaType (com.alibaba.fastjson.JSONObject) : jdbcType (null) combination.

    2024年02月07日
    浏览(39)
  • 解决Oracle中XML插入数据时的空格问题

    🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 🌊 《IDEA开发秘籍专栏》学会IDEA常用操作,工作效率翻倍~💐 🌊 《100天精通Golang(基础入门篇)》学会Golang语言

    2024年02月12日
    浏览(43)
  • HttpURLConnection发起请求中文数据乱码问题解决

    HttpURLConnection发送POST请求时,请求参数中有中文,且请求成功后,后端显示出现乱码 POST的form没有转码的问题,服务器数据将byte转成utf8,utf8编码是3个字节对应一个字符,但如果只读了一个字节或者不为3的倍数这样强转编码就会导致乱码出现 在POST方法初始化StringEntity时指定

    2024年02月11日
    浏览(42)
  • 问题解决:使用Mybatis Plus的Mapper插入达梦数据库报“数据溢出”错误

    使用Mybatis Plus的Mapper插入达梦数据库报“数据溢出”错误 问题描述 在进行批量插入中,抛出异常为数据溢出 插入方法:this.baseMapper.insertBatchSomeColumn() 抛出异常:数据溢出 对失败的数据进行循环,尝试使用单个插入的方法,同样抛出异常为数据溢出 插入方法:this.baseMapper

    2024年02月07日
    浏览(91)
  • 解决前端传给Spring Boot的中文数据乱码问题

    解决前端传给Spring Boot的中文数据乱码问题,可以按照以下几个方法进行操作: 在前端的请求头(Request Header)中设置字符集编码为UTF-8: Content-Type: application/x-www-form-urlencoded; charset=UTF-8 1.在Spring Boot的后端接收中文数据的Controller中,添加注解@RequestBody,并设置编码为UTF-8:

    2024年03月25日
    浏览(67)
  • cmd运行不了的问题解决

    所以我的问题是当 我刚刚在终端中运行了 cmd.exe,我得到“&此时出乎意料” 删除cmd注册表的auturun选项 听起来像 您为 cmd.exe 定义了一个损坏的自动运行命令 ;也就是说,您的注册表定义了一个命令,该命令在您调用 cmd.exe 时自动执行。 ,并且该命令会导致您看到的语法错误

    2024年02月10日
    浏览(35)
  • 解决问题:Android Studio启动不了

    1、启动不了之前的操作: build报错的提示的都是乱码,于是网上搜了下,去菜单Help Edit Custom VM options 此时AS打开了AS安装目录下bin/studio64.exe.vmoptions 这个文件 根据网上说法在里边加一句 即可,于是加了,结果AS闪退。 再也启动不了,重启电脑后也不行,重新安装也不行。 看

    2024年02月04日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包