旗下导航:搜·么
当前位置:网站首页 > MySQL教程 > 正文

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

作者:搜教程发布时间:2019-12-01分类:MySQL教程浏览:64评论:0


导读:本文给人人带来MySQL字符集是什么?字符集的相干引见。有一定的参考价值,有须要的朋侪能够参考一下,愿望对你们有所协助。字符集引见gbk/gb2312gbk/gb...
本文给人人带来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网别的相干文章!

标签:MySQL字符集gbkutf8


欢迎 发表评论: