返回顶部

mysql字符集

​ 看到一个关于mysql字符集的文章,写得很好,原文地址:https://www.cnblogs.com/chyingp/p/mysql-character-set-collation.html

​ 下面再补充一些小细节。

  1. charset和character set的区别

    charset是character set的简写

    character set 'UTF8'
    character set UTF8
    charset 'UTF8'
    charset UTF8
    

    上面四个得出的结果是一样的。设置表级别的字符集时可以写等号,如character set=UTF8,设置列级别字符集时不能写等号。
    下面两个相同(列级)

    `str` varchar(11) character set utf8mb4 collate utf8mb4_general_ci
    
    `str` varchar(11) charset utf8mb4 collate utf8mb4_general_ci
    

    下面两个相同(表级)

    CREATE TABLE `tb` (column_list)
    DEFAULT character set [=] utf8mb4 collate utf8mb4_general_ci;
    
    CREATE TABLE `tb` (column_list)
    DEFAULT charset [=] utf8mb4 collate utf8mb4_general_ci;
    
  2. 各种字符集占用的字节数

    Charset Description Default collation Maxlen (最大字节数)
    latin1 cp1252 West European latin1_swedish_ci 1
    ascii US ASCII ascii_general_ci 1
    gb2312 GB2312 Simplified Chinese gb2312_chinese_ci 2
    gbk GBK Simplified Chinese gbk_chinese_ci 2
    utf8 UTF-8 Unicode utf8_general_ci 3
    utf8mb4 UTF-8 Unicode utf8mb4_general_ci 4

    mysql的字符序遵从命名惯例:

    以_ci(表示大小写不敏感)

    以_cs(表示大小写敏感)

    以_bin(表示用编码值进行比较)

    mysql的默认字符集是:latin1,查看mysql默认字符集:SHOW VARIABLES LIKE 'character_set_server';

    在实际的应用中,如果不存储中文,用latin1就足够了;如果要存储中文,就用utf8mb4。utf8mb4是一种最常用的方式,它可以存储中文、特殊符号和表情符号。

posted @   圣马丁的阿哥  阅读(129)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
点击右上角即可分享
微信分享提示