当前位置:首页 > MySQL教程 > 正文内容

MySQL字符集是什么?字符集的相干引见【MySQL教程】,MySQL,字符集,gbk,utf8

搜教程4年前 (2019-12-01)MySQL教程205
本文给人人带来MySQL字符集是什么?字符集的相干引见。有一定的参考价值,有须要的朋侪能够参考一下,愿望对你们有所协助。

字符集引见

  • gbk/gb2312

    gbk/gb2312
    采纳双字节字符集,不管中、英笔墨符均运用双字符来示意,为了辨别中文,将其最高位都设定成1
    gb2312是gbk的子集,gbk是gb18030的子集,gb2312仅能存储简体中笔墨符
    gbk包含中日韩字符的大字符集
    一般运用gbk字符集充足
    国际通用性比utf8差,不过utf8占用的数据库比gbk大(utf8是三字节字符集)

  • utf8/utf8mb4

    UTF全称(Unicode Transformation Format),是Unicode的一种存储体式格局,可变长度字符编码,又称万国码;
    数据库字符集只管运用utf8(包含 connect、result、及终究html页面都必须请求一致为utf8);
    UTF8运用可变长度字节来存储 Unicode字符,比方 ASCII字母继承运用1个字节存储,重音笔墨、希腊字母、或西里尔字母等运用2个字节来存储,而经常使用的汉字就要用3个字节;也就是一个英笔墨符即是一个字节,一个中文(含繁体)即是三个字节。
    utf8mb4一个字符最多能存4字节,所以能支撑更多的字符集;项目中经常使用utf8mb4寄存emoji脸色;
    latin1是8bit (1 bytes)字符集,但不能掩盖亚洲、非洲言语;
    unidoce是latin1的扩大,增加了亚洲、非洲通例言语支撑,但仍不支撑悉数言语,且ASCII用unidoce来示意效力不高(小字符集转换成大字符集,每每便随的就是字符的丧失);
    utf8是unicode的扩大;
    gbk、gb2312等字符集与utf8之间都必须经由过程Unicode编码才互相转换。

字符集运用发起

1、异常一定只要中文终端用户时,可挑选gbk / gb2312

2、为了轻易数据迁徙、以及多种终端展现,最好是utf8

3、字符无需辨别大小写时,采纳默许的xx_ci校验集能够,不然挑选xx_bin校验集(生产环境中,只管不要修正校验集)

4、默许字符集是latin1,该字符集寄存汉字是离开寄存,以至于检索效果时不够准确,优点就是节约空间,不引荐运用

MySQL字符集局限

服务器层(server) > 数据库成(database) > 数据表(table) > 字段(column) > 衔接(connection) | 效果集(result)

MySQL字符集优先级

衔接(connection) | 效果集(result) > 字段(column) > 数据表(table) > 数据库成(database) > 服务器层(server)

char范例

char(N):N代表的是字符个数(也叫字符长度)、而非bytes
char(N):是牢固长存储,占用定长的存储空间,不足的部分用空格添补;MySQL处置惩罚char(N)范例时,须要将空格strip掉后return。

存储空间:char(N)范例的存储空间和字符集有关联,连系适才字符集的知识点,一个中文在utf8字符集合占用3个bytes、gbk占用2个bytes、数字和字符一致用一个字符示意。

存储机制:在不够N长度时,MySQL在存储数据时,须要用添补特别的空格,而非十六进制的20

思索:
char(30),在差别的字符集合最多能寄存多少个字母、汉字,以及占用空间状况
gbk: 能够寄存30个字节 占用的空间30*2utf8:能够寄存30个字节 占用的空间30*3

varcahr范例

varchar(N):N代表的是字符个数(也叫字符长度)、而非bytes
varchar(N):是变长存储,仅运用必要的存储空间.

存储空间:varchar(N)范例的存储空间和字符集有关联,连系适才字符集的知识点,一个中文在utf8字符集合占用3个bytes、gbk一致占用2个bytes、数字和字符一个字符示意。

存储机制:varchar(N)字段存储现实是从第二个字节最先存储,然后用1到2个字节示意现实长度,剩下的才是能够存储数据的局限,因而最大可用存储局限是65535-3=65532字节;第一个字节标识是不是为空.(长度小于255字节,运用一个字节来示意长度;大于255字节运用两个字节来示意长度)

修正数据库实例字符集

暂时见效

mysql> set character_set = 'gbk';
mysql> set character_set_client = 'gbk';

全局见效

mysql> set global character_set_client = 'gbk';
Query OK, 0 rows affected (0.00 sec)

永远见效

vim /etc/my.cnf 
character-set-server=utf8

总结:以上就是本篇文的悉数内容,愿望能对人人的进修有所协助。更多相干教程请接见mysql数据库图文教程 ,MySQL视频教程,bootstrap视频教程!

以上就是MySQL字符集是什么?字符集的相干引见的细致内容,更多请关注ki4网别的相干文章!

扫描二维码推送至手机访问。

版权声明:本文由搜教程网发布,如需转载请注明出处。

本文链接:https://www.sojiaocheng.cn/15601.html

分享给朋友:

“MySQL字符集是什么?字符集的相干引见【MySQL教程】,MySQL,字符集,gbk,utf8” 的相关文章

MySQL索引不见效的解决办法【MySQL教程】,MySQL,办法,解决

公司效劳用的mysql,最近在查询时时候很慢,常常会上10多秒,查看了一下查询的实行计划,发明索引没有见效。 存储引擎运用InnoDB。 一最先在主库查询,一向很猎奇为何索引不见效,切换到备库以后,发明备库是有用的。 最先斟酌是否是由于索引出问题,后对索引重修,发明效力高了不少。...

MySQL存储历程 游标 错误处理的示例代码【MySQL教程】,MySQL,错误,游标

MySQL存储历程 游标 错误处理的示例代码 --set_account_data 从新生成用户编号 BEGIN DECLARE temp_id INT(8); /*用户id*/ DECLARE t...

MySQL表数据文件破坏致使数据库没法启动详解【MySQL教程】,MySQL,导致,损坏

一、题目日记 2017-08-31 14:18:05 4122 [Note] InnoDB: Database was not shutdown normally! 2017-08-31 14:18:05 4122 [Note] InnoDB: Starting crash recovery...

MySQL中隐式转换要领【MySQL教程】,MySQL,方法,隐式

隐式转化划定规矩 官方文档中关于隐式转化的划定规矩是以下形貌的: If one or both arguments are NULL, the result of the comparison is NULL, except for the NULL-safe <=> equal...

关于MySQL数据库 增编削查语句集锦【MySQL教程】,MySQL,数据库,语句

一、基础的sql语句 CRUD操纵: create 建立(增加) read 读取 update 修正 delete 删除 1、增加数据 insert into Info values('p009','张三',1,'n001','2016-8-30 12:9:8') ; 给特定的...

关于Mysql事务性【MySQL教程】,Mysql,事务性,关于

1》事件指的是什么?    事件能够看作一个营业逻辑处置惩罚单位,这个单位要么执行,要么不执行; 2》ACID的准绳:   (1)原子性(Automicity)   (2)一致性(Consistency)     A 账户有3000块, B 账户2000快,     --A -...