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

news/2024/5/19 20:20:23/文章来源:https://blog.csdn.net/weixin_53564801/article/details/126086423

🎈目录🎈

原因⁉

具体解决方法

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

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


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

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

原因⁉:

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

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

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

show variables like '%char%';

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

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

具体解决方法:

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

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

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

create database 数据库名 character set utf8;

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

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

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

我们看方法二。

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

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

什么是配置文件:

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

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

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

      1、找到MySQL的配置文件

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

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

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

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

2、修改文件  

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

注意:

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

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

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

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

注意:=两侧不要有空格

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

    3、重启MySQL服务器(重要

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

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

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_88877.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL 复制架构

MySQL 复制架构 第一节 概述 1.1 数据拓展 热备份:数据库在运行的过程中,对数据进行备份操作。相对的,还有冷备份,冷备份需要停机,然后对数据进行备份操作。多活:所谓的多活,就是让数据库机器…

习惯了微信聊天,利用WebSocket手动实现个聊天功能怎么样?

1.背景 基于项目需求,最近需要实现一个简单的聊天功能。日常生活中,大家对于聊天也习以为常,微信、QQ等软件也经常用到,其实我们也可以引入一些第三方的sdk包等去实现,也可以利用WebSocket通信协议去手动实现简单的聊…

【蓝桥杯】第十三届蓝桥杯省赛 AK 攻略 —— C++ B组全真题超详细剖析

🎄目录🌼写在前面🌻 A题 --- 九进制转十进制🌷 题目描述🌷 解题思路🌷 代码编写🌻 B题 --- 顺子日期🌷 题目描述🌷 解题思路🌷 代码编写🌻 C题 --…

92年程序员发帖晒薪资称自己很迷茫,网友:老弟你可以了

当下,是一个“向钱看,向厚赚”的社会。快节奏的生活下,家庭、工作各方面压力很容易使年轻人陷入迷茫和焦虑。 与其他行业相比,程序员的高薪让人羡慕。那么,对于那些真正达到这么多收入的人来说,他们是怎么…

Mysql安装包安装教程(亲测简单高效版)

Mysql安装包安装教程(亲测简单高效版)安装流程mysql安装SQLyog安装安装流程 mysql安装 1.下载mysql,官方地址:mysql官网 2.解压mysql安装包到任意目录下 3.新建my.ini文件 4.配置my.ini [mysqld] basedirD:\Program Files\J…

sql语法:详解DDL

Mysql版本:8.0.26 可视化客户端:sql yog 目录一、DDL是什么?二、和数据库相关的DDL2.1 创建数据库2.2 删除数据库2.3 查看所有的数据库,当前用户登录后,可以看到哪些数据库2.4 查看某个数据库的详细定义2.5 修改数据库…

Windows系统GIT安装与GitHub远程仓库

文章目录Windows系统GIT安装Git是什么windows环境安装环境变量验证安装GitHub与远程仓库GitHub是什么GitHub账号注册创建本地SSH KeyGitHub接入本地电脑公匙创建个人远程库传送门Windows系统GIT安装 Git是什么 Git(读音为/gɪt/)是一个开源的分布式版本…

接口测试之Postman使用全指南(原来使用 Postman测试API接口如此简单)

目录 一、Postman背景介绍 二、Postman的操作环境 三、Postman重要提示: 四、什么是接口测试 五、接口测试工具 六、接口测试流程 七、接口测试执行 八、全局变量和环境变量 九、postman接口关联 十、postman动态参数 十一、postman断言 十二、postman用…

Unity --- Transform类

1.一个很有意思的事实是Transform类不仅用来管理游戏物体的位置缩放旋转,还用来管理游戏物体的父物体与子物体之间的关系 当游戏物体A的trasnform类a是游戏物体B的transform类b的父类的话,游戏物体A就是游戏物体B的父物体 2.如何访问脚本当前挂载的游戏…

手把手教你安装VSCode(附带图解步骤)

一、前端工具vscode 1.1、概述 前端开发是创建Web页面或app等前端界面呈现给用户的过程,通过HTML,CSS及JavaScript以及衍生出来的各种技术、框架、解决方案,来实现互联网产品的用户界面交互 [1] 。它从网页制作演变而来,名称上有…

如何用Python对股票数据进行LSTM神经网络和XGboost机器学习预测分析(附源码和详细步骤),学会的小伙伴们说不定就成为炒股专家一夜暴富了

前言 最近调研了一下我做的项目受欢迎程度,大数据分析方向竟然排第一,尤其是这两年受疫情影响,大家都非常担心自家公司裁员或倒闭,都想着有没有其他副业搞搞或者炒炒股、投资点理财产品,未雨绸缪,所以不少…

你单位数字化转型了吗?

写在前面:本文由Bing AI和我一起完成,它完成90%内容,致谢! 1.数字化转型 近两年数字化转型在社会面搞得轰轰烈烈,数字化转型是指,利用新一代信息技术,构建数据的采集、传输、存储、处理和反馈的…

抓取某话题下指定时间内的微博数据,包括博文数据、评论信息等(可通过高级搜索筛选时间)

代码有点长,完整代码放在文章最后了。 最后的数据存储为了3个表,表的各字段如下: # csv头部 writer.writerow((话题链接, 话题内容, 楼主ID, 楼主昵称, 楼主性别, 发布日期,发布时间, 转发量, 评论量, 点赞量, 评论者ID, 评论者昵称,评论者…

低代码开发公司:用科技强力开启产业分工新时代!

实现办公自动化,是不少企业的共同追求。低代码开发公司会遵循时代发展规律,注入强劲的科技新生力量,在低代码开发市场厚积爆发、努力奋斗,推动企业数字化转型升级,为每一个企业的办公自动化升级创新贡献应有的力量。 一…

Matlab仿真,数字基带传输系统的设计实验报告

实验目的 1、提高独立学习的能力; 2、培养发现问题、解决问题和分析问题的能力; 3、学习Matlab 的使用; 4、掌握基带数字传输系统的仿真方法; 5、熟悉基带传输系统的基本结构; 6、理解奈奎斯特第一准则; 7…

echarts入门基础教程

目录 效果图 1.下载资源 新建项目 2.引入echarts 3.准备一个呈现图表的盒子 4.初始化echarts实例对象 5.准备配置项 6.将配置项设置给echarts实例对象 7.完整代码 效果图 1.下载资源 新建项目 去官网下载echarts压缩包,在包里的dist文件里找到echarts.min.j…

sql语法:事务的”那些事“

Mysql版本:8.0.26 可视化客户端:sql yog 目录前言一、事务是什么?二、事务的特点三、如何提交事务和回滚事务?3.1 手动提交3.2 自动提交模式下开启事务3.3 注意事项四、事务的隔离级别4.1 模拟事务安全问题4.1.1 脏读问题模拟如下&#xff1…

【模块介绍】6×6矩阵键盘(硬件部分和扫描方式)

目录 概述 原理图 扫描方式 扫描法 单个按键按下 多个按键按下 行反转法 图解 成品 概述 矩阵键盘非常常见 就是利用键盘组成矩阵来减少IO口的使用 做成66的矩阵键盘可以使用12个IO口读取36个按键 矩阵键盘的优势在于成本低,无需其他芯片即可实现功能 …

Android WMS工作原理浅析(一)

WMS(WindowManagerService)相关概念 window:它是一个抽象类,具体实现类为 PhoneWindow ,它对 View 进行管理。Window是View的容器,View是Window的具体表现内容; windowManager:是一个接口类,继承自接口 ViewManager &…

Mac上初次使用vite新建Vue3项目需要注意,自己的错误记录

执行npm init vitejs/app时 报错: internal/modules/cjs/loader.js:1089 throw new ERR_REQUIRE_ESM(filename, parentPath, packageJsonPath); 一开始网上找原因,以为是node的版本过低,但是看了是自己的弄的版本号是12.1.x.x刚刚好跨过门槛…