[摘要]本文给大家带来MySQL字符集是什么?字符集的相关介绍。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。字符集介绍gbk/gb2312gbk/gb2312采用双字节字符集,不论中、英... 本文给大家带来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) |