当前位置: 首页 > news >正文

逐梦DBA:MySQL的编码设置

一、MySQL的编码设置

1.1 默认插入中文数据存在的问题

1.1.1 在 MySQL5.7 版本,默认在安装成功后存在中文乱码的问题

1. 通过 show create table xxx查看可以发现默认的字符集:

2. show variables like 'character_%';查看编码命令发现默认为拉丁

如果我们没有显示指定库或表使用的字符集,则使用默认的字符集

3. show variables like 'collation_%';查看比较规则(数据的比较相关)

1.1.2 在 MySQL8.0版本中,则不存在字符串SQL乱码问题

MySQL 8.0 开始,数据库的默认编码改为utf8mb4 ,从而避免了上述的乱码问题。

1. 我们依旧通过 show create table xxx查看可以发现默认的字符集:

2. show variables like 'character_%';查看编码命令发现默认为UTF8格式

3. show variables like 'collation_%';查看比较规则(数据的比较相关)

1.2 字符集修改

1. 找到 MySQL的数据存储下的 my.ini 文件,添加下面的内容

[mysqld] # 大概在63行左右,在其下添加
...
default-character-set=utf8 #默认字符集

[mysqld] # 大概在76行左右,在其下添加
...
character-set-server=utf8
collation-server=utf8_general_ci

注意:建议修改配置文件使用notepad++等高级文本编辑器,使用记事本等软件打开修改后可能会导致文件编码修改为“含BOM头”的编码,从而服务重启失败。

2. 重启 MySQL 服务

通过“服务”中找到MySQL服务进行重新启动:

3. 重新启动服务后,查看编码命令

show variables like 'character_%';

show variables like 'collation_%';

4. 此时编码修改成功后,由于之前的数据库依旧使用的是拉丁的编码方式。我们可以删除该数据库后重新创建,即为修改后的字符集。

相关文章:

  • PWM子系统芯片驱动源码pwm-tegra.c分析
  • leetcode15 三数之和
  • ruoyi框架接入kkFileView
  • 侯捷 C++ 课程学习笔记:深入理解C++内存管理与类对象构造全过程
  • 【极客时间】浏览器工作原理与实践-2 宏观视角下的浏览器 (6讲) - 2.6 渲染流程(下):HTML、CSS和JavaScript,是如何变成页面的?
  • 第005文-模拟入侵网站实现0元购
  • µCOS-III从入门到精通 第八章(时间片调度)
  • 点云 基于法线的双边滤波原理和过程
  • LeetCode hot 100—二叉树的最大深度
  • 能量石[算法题]
  • YOLOv12 项目部署指南! 含报错解决
  • Flutter底层实现
  • Go学习笔记:基础语法3
  • 【由技及道】镜像星门开启:Harbor镜像推送的量子跃迁艺术【人工智障AI2077的开发日志010】
  • CSS+Html面试题(二)
  • python网络爬虫开发实战之爬虫基础
  • Unity自定义渲染管线(Scriptable Render Pipeline)架构设计与实现指南
  • netty中Future和ChannelHandler
  • Best practice-生产环境中加锁的最佳实践
  • Anaconda 部署 DeepSeek
  • 述评:赖清德当局上台一年恶行累累
  • 上海肺科医院院长陈昶:临床中的痛点,正是新技术诞生的起点
  • “复旦源”一源六馆焕新启幕,设立文化发展基金首期1亿元
  • 台湾关闭最后的核电,岛内担忧“非核家园”缺电、涨电价困局难解
  • 新疆多地市民拍到不明飞行物:几秒内加速消失,气象部门回应
  • 全国游泳冠军赛:孙杨、潘展乐同进400自决赛,今晚将正面对决