【MySQL】解决字符集编码问题

news/2024/11/23 23:09:40/

文章目录

  • 前言
  • 方法1:在创建数据库时,指定字符集
  • 方法2: 更改MySQL的配置文件

前言

MySQL的默认编码方式是 拉丁文,如果想要设置一些汉字的数据.可能会报错.分享一下我解决这个问题时的方法.1. 在创建数据库时,指定字符集 2.更改MySQL的配置文件.

方法1:在创建数据库时,指定字符集

create database 数据库名 charset 字符集;

字符集中最常用的就是utf8了.但是MySQL中的utf8其实是不完整的**.这里的utf8无法表示enoji(表情).后面MySQL又搞了个utf8mb4,这个是完整的utf8.

这种方法只是给当前创建的这个数据库设置了字符集,但如果要创建很多数据库,每次使用这个方法就会有点麻烦了. 因此我推荐大家使用第二种方法,通过更改MySQL的配置文件来解决这个问题.

方法2: 更改MySQL的配置文件

在创建数据库时,如果手动指定了数据库的编码方式,那么就会以指定的字符集为准.如果没有指定,MySQL就会读取自己的配置文件,从而决定要指定那种字符集.

因此建议使用这种方式解决这个问题,需要更改的文件是 my.ini
这个文件是不太好找的,再推荐大家一个查找文件的工具everything
everything下载地址:https://www.voidtools.com/zh-cn/

下面讲一下怎么改配置文件

  1. 先通过everything找到这个配置文件,然后右键打开路径
    在这里插入图片描述

  2. 找到一下两个地方
    在这里插入图片描述
    在这里插入图片描述

# 是注释的意思.这里就是MySQL默认字符集编码的方式
在修改前,先把原来的配置文件先保存下来(很重要!).可以创建一个文本文件,将原来的配置文件的内容ctrl c ctrl v保存下来
然后再分别把这两个地方改为:

default-character-set=utf8 
character-set-server=utf8

修改完成之后,MySQL的默认编码就是utf8了.也可以修改为 utfmb4.

修改完成之后 要重启MySQL 服务器
在这里插入图片描述
点击进入服务 找到MySQL
在这里插入图片描述
然后右键启动即可.接下来你如果重新启动失败,大概率可能是配置文件改错了,这个时候就要用到之前保存过的配置文件了.这就需要 先将原来的配置文件把修改过的文件覆盖掉,再重新修改

以上操作完成之后,接下来创建的数据库的字符集编码就是修改配置文件后编码

感谢你的观看!希望这篇文章能帮到你!
专栏:《速通MySQL》在不断更新中,欢迎订阅!
“愿与君共勉,携手共进!”
在这里插入图片描述


http://www.ppmy.cn/news/37408.html

相关文章

Java每日一练(20230403)

目录 1. 字母异位词分组 🌟🌟 2. 删除链表的倒数第 N 个结点 🌟🌟 3. 合并区间 🌟🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏…

第13章_约束

第13章_约束 🏠个人主页:shark-Gao 🧑个人简介:大家好,我是shark-Gao,一个想要与大家共同进步的男人😉😉 🎉目前状况:23届毕业生,目前在某公司…

C++语言基础——函数(详解)

目录 函数是什么 函数的定义 主函数举例 空函数 函数的调用 语法格式 举例说明:计算x的n次方 递归 递归的主要点 递归的结构 条件 递归使用的场景 函数是什么 函数全名叫计算机函数,它可以帮助你完成一些特定的程序。你可以把它简单理解成一把…

03.时间和空间复杂度

1. 算法效率 算法效率分析分为两种:第一种是时间效率,第二种是空间效率。时间效率被称为时间复杂度,而空间效率被称作 空间复杂度。 时间复杂度主要衡量的是一个算法的运行速度,而空间复杂度主要衡量一个算法所需要的额外空间&am…

《SpringBoot》第03章 自动配置机制(二) 根注解@SpringBootApplication

前言 之前介绍到了把启动类封装成BeanDefinition注入进IOC容器,那么这个启动类就会跟普通的bean一样在refresh()中被实例化,那么显而易见作为启动类这个实例化并不简单,肯定会存在一些特殊处理,那么就需要研究一下其注解SpringBo…

QT Qwidget 事件处理机制

qlineEdit Qt事件处理是指在Qt应用程序中处理各种事件的过程。事件是指在应用程序中发生的各种操作,例如按键、鼠标点击、窗口移动等。Qt提供了一个事件处理机制,使得开发者可以对这些事件进行处理,以实现应用程序的各种功能。 Qt中的事件处…

面试官问我为什么Integer a = (128) != Integer b (128) 装箱拆箱及IntegerCache问题

前言 基本数据类型与包装类型: 什么是基本数据类型?什么是包装类型? 装箱拆箱 什么是装箱?什么是拆箱? 怎么进行装箱的? 为什么这样设计? 如何进行拆箱 有了基本数据类型为什么还要有包…

【计算机视觉 | 目标检测】DETR风格的目标检测框架解读

文章目录一、前言二、理解2.1 DETR的理解2.2 DETR的细致理解2.2.1 Backbone2.2.2 Transformer encoder2.2.3 Transformer decoder2.2.4 Prediction feed-forward networks (FFNs)2.2.5 Auxiliary decoding losses2.3 更具体的结构2.4 编码器的原理和作用2.5 解码器的原理和作用…