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

2023年 6月 9日 27.4k 0

目录 前言 原因: 具体解决方法: 创建数据库时设置字符集为utf8 修改数据库配置文件(比较麻烦) 总结 前言 我们使用MySQL可能会遇到加入中文报错的情况,如下。 报错:非法的字符

目录前言原因:具体解决方法:创建数据库时设置字符集为utf8修改数据库配置文件(比较麻烦)总结 

前言

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

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

原因:

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

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

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

show variables like '%char%';

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

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

具体解决方法:

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

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

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

create database 数据库名 character set utf8;

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

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

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

我们看方法二。

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

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

什么是配置文件:

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

    因此就可以借助“开关”来切换模式!软件的开关通常会用一个“图形化界面”,但是对于 MySQL 等

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论