MySQL字符集是什么?字符集的相干引见【MySQL教程】,MySQL,字符集,gbk,utf8
字符集引见
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网别的相干文章!