MySQL字符集

Posted 六月OvO

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL字符集相关的知识,希望对你有一定的参考价值。

1.字符集介绍

字符集:是一个系统支持的所有抽象字符的集合。字符是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等

#最早的字符集:ASCII码
中国的字符集:gbk,utf8,utf8mb4,gbk2312,....
日本:shift-JIS
韩国:Euc-kr
万国编码:Unicode字符集

#数据库常用的字符集
    gbk: 一个汉字占用2个字节
    utf8: 一个汉字占用3个字节
    utf8mb4: 一个汉字占用4个字节
    
#字符集修改
    字符集有一个包含关系,修改时要注意小的范围可以修改为大范围的字符集

#数据库查看字符集
    mysql> show charset;

2.校验规则

#查看校验规则
mysql> show collation;

| latin1_bin               |
| latin1_general_ci        |
| latin1_general_cs        |

#校验规则区别
1.ci结尾的校验规则不区分大小写
2.bin和cs结尾的校验规则区分大小写

3.统一字符集

#1.xshell字符集

#2.linux系统的字符集
    #永久修改:
    1)centOS7:
    [root@db01 ~]# vim /etc/locale.conf
    LANG="zh_CN.UTF-8"
    2)centOS6:
    [root@db01 ~]# vim /etc/sysconfig/i18n
    LANG="zh_CN.UTF-8"
    #临时修改:
    [root@db01 ~]# LANG="zh_CN.UTF-8
    
#3.cmake阶段指定字符集
    #使用utf8字符集
    -DDEFAULT_CHARSET=utf8
    #校验规则
    -DDEFAULT_COLLATION=utf8_general_ci

#4.配置文件可以修改默认的字符集
    [root@db01 ~]# vim /etc/my.cnf
    [mysqld]
    character-set-server=utf8

#5.创建数据库时指定字符集
    mysql> create database zifuji3 charset gbk;
    
#6.在库下建表
    在库下面建表,表的字符集随着库走,不走默认与cmake的字符集
    
#7.建表时指定字符集
    mysql> create table test2(id int) charset utf8mb4;
    
#8.修改已有表的字符集
    mysql> alter table test charset utf8mb4;

 

以上是关于MySQL字符集的主要内容,如果未能解决你的问题,请参考以下文章

带有神秘附加字符的 Javascript Date getTime() 代码片段

从mysql的片段中加载ListView

连接MySQL出现错误:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)(代码片段

2021-12-24:划分字母区间。 字符串 S 由小写字母组成。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。返回一个表示每个字符串片段的长度的列表。 力扣763。某大厂面试

21个常用代码片段

使用 json rereiver php mysql 在片段中填充列表视图