当前位置:首页 >资讯 > 正文

MySQL基础学习之字符集的应用
2023-05-17 12:16:03    脚本之家
目录
字符集的查询与修改字符集比较规则utf8mb3和 utf8mb4比较规则后缀含义字符集常用SQL

字符集的查询与修改

MySQL 8.0版本之前, 默认字符集是latin1, 使用默认字符集的时候输入中文会出现乱码问题, 所以我们开发人员经常会将MySQL字符集的格式修改为utf8解决乱码问题, utf8字符集默认指向的是utf8mb3格式编码, 在MySQL 8.0版本开始, 默认的字符集将改为了utf8mb4, 有效的解决了中文乱码问题

查看当前MySQL数据库使用的字符集

show variables like "character%";

-- 或

show variables like "%char%";

MySQL 8.0版本查询默认字符集


【资料图】

MySQL 5.7版本查询默认字符集

对于MySQL 5.7版本我们可以通过Navicat等工具来对数据库的默认字符集进行修改, 也可以通过修改MySQL的配置文件my.cnf来修改默认字符集

my.cnf文件在Linux系统下的地址是: /etc/my.cnf 在 [mysqld] 下新增 character_set_server=utf8修改成功之后注意要重启 MySQL, 使配置生效, 重启命令systemctl restart mysqld.service

在上面字符集列表里面有几个属性可以了解一下:

character_set_client服务器解码请求时使用的字符集character_set_connection服务器处理请求时会把请求字符串从character_set_client转为character_set_connectioncharacter_set_results服务器向客户端返回数据时使用的字符集

字符集比较规则

utf8mb3和 utf8mb4

在日常操作中utf8字符集表示一个字符需要 14个字节, 但是我们常用的一些字符只需要使用 13个字节, 而字符集表示使用一个字符的最大字节长度, 长度不同占用空间大小也不同, 所以在MySQL中定义了utf8mb3utf8mb4:

utf8mb31~3字节utf8mb41~4字节

MySQL中, utf8通常指的是 utf8mb4

查看当前MySQL支持的字符集可输入下列查询:

show charset;
-- 或
show character set;

我们可以看到查询结果一共有四列, 分别是字符集名称, 简介, 该字符集默认排序规则, 使用该字符集最大字节数

Default collation表示的是该字符集默认的比较规则, utf8_general_ci是一种通用的比较规则,这里可以选择比较规则主要作用于哪种语言 在我们使用Navicat编辑数据库的时候可以看到当前数据库使用的字符集和排序规则

utf8_croatiian_ci就是以罗克地亚语的规则比较,utf8_czech_ci以捷克语的规则比较utf8_danish_ci以丹麦语规则比较...

utf8_unicode_ci和 utf8_general_ci对中英文来说没有区别 utf8_general_ci 校对速度快, 准确度较差 utf8_unicode_ci 准确度高, 但校对速度稍慢

一般来讲使用utf8_general_ci就够了, 但是如果应用中使用到德语, 法语或者俄语, 一定要使用 utf8_unicode_ci, 因为 utf8_general_ci是一种比较老的标准 utf8_unicode_ci会更符合这些国家人们的习惯

比较规则后缀含义

后缀英文释义描述
_aiaccent insensitive不区分重音
_asaccent sensitive区分重音
_cicase insensitive不区分大小写
_cscase sensitive区分大小写
_binbinary以二进制的方式比较

字符集常用SQL

-- 查看服务器的字符集和比较规则
show variables like "%_server";
-- 查看数据库的字符集和比较规则
show variables like "%_database";
-- 查看具体数据库的字符集
show create database 表名;
-- 修改具体数据库的字符集
alter database 表名 default character set "utf8" collate "utf8_general_ci";

修改数据库的默认字符集和比较规则后, 原来已经创建的表的字符集和比较规则并不会改变, 需要单独的去更改

以上就是MySQL基础学习之字符集的应用的详细内容,更多关于MySQL字符集的资料请关注脚本之家其它相关文章!

关键词:

下一篇: 最后一页
上一篇: 陕西开放大学举办全省开放大学成人教育综合管理平台应用工作专题培训

MySQL基础学习之字符集的应用

陕西开放大学举办全省开放大学成人教育综合管理平台应用工作专题培训

逸仙电商Q1营收7.65亿元 超出此前营收指引上限-当前关注

焦虑的火山引擎,不愿再等字节跳动的大模型

新兵连三个月后如何分配工作 新兵连三个月后如何分配

超星尔雅建筑CAD题库及答案

菲律宾抢夺南海岛礁,设主权浮标,警告中国:若拆除后果很严重-今日热文

东方盛虹:5月16日融券卖出金额6.18万元,占当日流出金额的0.05%

浙江多地海边现“蓝眼泪”奇观:场面惊艳

每日资讯:业绩预告前后差异大 ST鹏博士遭上交所警示

话剧、交响乐、新创古诗词歌曲……首届福州地区大学城文化艺术节学生展演开启! 世界即时看

欧冠焦点!国米首回合2-0回到主场,赛季3连杀同城死敌,米兰头号大腿继续缺阵|世界快资讯

火烧_关于火烧介绍 天天报资讯

环球通讯!桂花能在山东种植吗(桂花山东能越冬吗简介介绍)

当前短讯!宁夏移民博物馆

环球焦点!【19月租185G】和【9元180G】流量卡短期使用哪个更超值

天柱县气象台发布暴雨黄色预警信号【Ⅲ/较重】【2023-05-16】-今日快看

华体科技: 四川华体照明科技股份有限公司非公开发行限售股上市流通公告_看点

走进力星激光:国产激光切割机赢战万瓦市场-当前滚动

世界资讯:淘宝618什么时候开始预售 2023年淘宝618时间表

联想全新 ThinkPad E16 笔记本即将推出:16 英寸 16:10 大屏

川仪股份: 公司研发费用为费用化。为满足订单交付,五一节期间公司下属单位有不同程度的加班情况_世界快讯

这是一个现代版的反间计,意在借刀杀人

谦寻控股总裁赵冉:让直播间成为沟通供消两端的纽带

路德环境(688156)5月16日主力资金净买入254.42万元 环球滚动

百润股份:公司已披露的财务报告里可以查询

每日精选:舌尖消费成热潮 餐饮市场复苏势头旺

环球热资讯!甲醛释放量不合格,10张月娇床头柜被召回

杀人诛心!麦迪:如果勇士签下我 我可能会打得比普尔好一些吧_当前消息

【新视野】陆卫东任江苏省生态环境厅党组书记

世界今亮点!郑州市“双减”背景下初中英语单元整体教学观摩研讨活动举行

2023年云南丽江中考成绩查询网站:http://www.lijiang.gov.cn/ 全球速看

金星离地球多远有没有外星生命_金星离地球多远今日更新|世界焦点

小米武汉总部 35 岁以上员工被裁 90%?官方回应来了!-环球今日报

瑞星卡卡上网安全助手6.0_关于瑞星卡卡上网安全助手6.0介绍|新要闻

北京冬奥会官方电影《北京2022》群像海报发布_当前独家